From d8282f0eb10a1a5759bcca4582098a8369f508f8 Mon Sep 17 00:00:00 2001 From: Jiong Wang Date: Tue, 3 Mar 2015 15:00:59 +0000 Subject: [ARM] Skip private symbol when doing objdump 2015-03-03 Jiong Wang opcode/ * arm-dis.c (arm_symbol_is_valid): Skip ARM private symbols. binutils/testsuite/ * binutils-all/arm/rvct_symbol.s: New testcase. * binutils-all/arm/objdump.exp: Run it. --- opcodes/ChangeLog | 4 ++++ opcodes/arm-dis.c | 7 +++++-- 2 files changed, 9 insertions(+), 2 deletions(-) (limited to 'opcodes') diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 9cdca3c..22408be 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,7 @@ +2015-03-03 Jiong Wang + + * arm-dis.c (arm_symbol_is_valid): Skip ARM private symbols. + 2015-02-25 Oleg Endo * sh-opc.h (clrs, sets): Mark as arch_sh3_nommu_up instead of diff --git a/opcodes/arm-dis.c b/opcodes/arm-dis.c index e0a82c0..994586d 100644 --- a/opcodes/arm-dis.c +++ b/opcodes/arm-dis.c @@ -4558,7 +4558,10 @@ print_insn_data (bfd_vma pc ATTRIBUTE_UNUSED, } /* Disallow mapping symbols ($a, $b, $d, $t etc) from - being displayed in symbol relative addresses. */ + being displayed in symbol relative addresses. + + Also disallow private symbol, with __tagsym$$ prefix, + from ARM RVCT toolchain being displayed. */ bfd_boolean arm_symbol_is_valid (asymbol * sym, @@ -4571,7 +4574,7 @@ arm_symbol_is_valid (asymbol * sym, name = bfd_asymbol_name (sym); - return (name && *name != '$'); + return (name && *name != '$' && strncmp (name, "__tagsym$$", 10)); } /* Parse an individual disassembler option. */ -- cgit v1.1