From 20f4c123ba93a56798c0819e33f527611fc0ce47 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Wed, 28 Aug 2013 15:57:27 +0200 Subject: [PATCH] backends: Always set *prefix to "" when not used in register_info hook. 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 --- backends/ChangeLog | 6 ++++++ backends/arm_regs.c | 2 +- backends/ppc_regs.c | 2 +- backends/sh_regs.c | 2 +- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/backends/ChangeLog b/backends/ChangeLog index 4f7480d81..0863b5662 100644 --- a/backends/ChangeLog +++ b/backends/ChangeLog @@ -1,3 +1,9 @@ +2013-08-28 Mark Wielaard + + * 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 * Makefile.am: Use AM_CPPFLAGS instead of INCLUDES. diff --git a/backends/arm_regs.c b/backends/arm_regs.c index 0155149ea..21c5ad3a1 100644 --- a/backends/arm_regs.c +++ b/backends/arm_regs.c @@ -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"; diff --git a/backends/ppc_regs.c b/backends/ppc_regs.c index 9c2d7e853..4b92a9aa9 100644 --- a/backends/ppc_regs.c +++ b/backends/ppc_regs.c @@ -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); diff --git a/backends/sh_regs.c b/backends/sh_regs.c index 3d323a913..d4332364a 100644 --- a/backends/sh_regs.c +++ b/backends/sh_regs.c @@ -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; -- 2.47.2