backends: Always set *prefix to "" when not used in register_info hook.
authorMark Wielaard <mjw@redhat.com>
Wed, 28 Aug 2013 13:57:27 +0000 (15:57 +0200)
committerMark Wielaard <mjw@redhat.com>
Mon, 2 Sep 2013 20:05:48 +0000 (22:05 +0200)
For ia64 and tilegx *prefix was already set to the empty string, but
arm, ppc and sh used NULL to indicate no prefix preceded the register
name in the canonical assembler syntax. Consistently use the empty string
in all backends since dwfl_module_register_names says: 'a prefix used in
assembler syntax (such as "%" or "$", may be "")'. So users had to handle
the empty string already, and might forget to handle the NULL case
(like our own addrcfi testcase).

Signed-off-by: Mark Wielaard <mjw@redhat.com>
backends/ChangeLog
backends/arm_regs.c
backends/ppc_regs.c
backends/sh_regs.c

index 4f7480d..0863b56 100644 (file)
@@ -1,3 +1,9 @@
+2013-08-28  Mark Wielaard  <mjw@redhat.com>
+
+       * arm_regs.c (arm_register_info): Set *prefix to "".
+       * ppc_regs.c (ppc_register_info): Likewise.
+       * sh_regs.c (sh_register_info): Likewise.
+
 2013-04-24  Mark Wielaard  <mjw@redhat.com>
 
        * Makefile.am: Use AM_CPPFLAGS instead of INCLUDES.
index 0155149..21c5ad3 100644 (file)
@@ -48,7 +48,7 @@ arm_register_info (Ebl *ebl __attribute__ ((unused)),
   if (regno < 0 || regno > 320 || namelen < 5)
     return -1;
 
-  *prefix = NULL;
+  *prefix = "";
   *bits = 32;
   *type = DW_ATE_signed;
   *setname = "integer";
index 9c2d7e8..4b92a9a 100644 (file)
@@ -48,7 +48,7 @@ ppc_register_info (Ebl *ebl __attribute__ ((unused)),
   if (regno < 0 || regno > 1155 || namelen < 8)
     return -1;
 
-  *prefix = NULL;
+  *prefix = "";
   *bits = ebl->machine == EM_PPC64 ? 64 : 32;
   *type = (regno < 32 ? DW_ATE_signed
           : regno < 64 ? DW_ATE_float : DW_ATE_unsigned);
index 3d323a9..d433236 100644 (file)
@@ -50,7 +50,7 @@ sh_register_info (Ebl *ebl __attribute__ ((unused)),
   if (regno < 0 || regno > 103 || namelen < 6)
     return -1;
 
-  *prefix = NULL;
+  *prefix = "";
   *bits = 32;
   *type = DW_ATE_signed;