mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-11-27 22:10:32 +00:00
[ARM] Skip private symbol when doing objdump
2015-03-03 Jiong Wang <jiong.wang@arm.com> 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.
This commit is contained in:
parent
90ad5e1d4f
commit
d8282f0eb1
@ -1,3 +1,8 @@
|
||||
2015-03-03 Jiong Wang <jiong.wang@arm.com>
|
||||
|
||||
* binutils-all/arm/rvct_symbol.s: New testcase.
|
||||
* binutils-all/arm/objdump.exp: Run it.
|
||||
|
||||
2015-02-26 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||
|
||||
* binutils-all/update-1.s: New file.
|
||||
|
@ -86,3 +86,25 @@ if [regexp $want $got] then {
|
||||
} else {
|
||||
fail "multiple input files"
|
||||
}
|
||||
|
||||
if {![binutils_assemble $srcdir/$subdir/rvct_symbol.s tmpdir/rvct_symbol.o]} then {
|
||||
return
|
||||
}
|
||||
|
||||
if [is_remote host] {
|
||||
set objfile [remote_download host tmpdir/rvct_symbol.o]
|
||||
} else {
|
||||
set objfile tmpdir/rvct_symbol.o
|
||||
}
|
||||
|
||||
# Make sure multiple disassemblies come out the same
|
||||
|
||||
set got [binutils_run $OBJDUMP "-D $objfile $objfile"]
|
||||
|
||||
set want "foo.*global_a.*global_b"
|
||||
|
||||
if [regexp $want $got] then {
|
||||
pass "skip rvct symbol"
|
||||
} else {
|
||||
fail "skip rvct symbol"
|
||||
}
|
||||
|
15
binutils/testsuite/binutils-all/arm/rvct_symbol.s
Normal file
15
binutils/testsuite/binutils-all/arm/rvct_symbol.s
Normal file
@ -0,0 +1,15 @@
|
||||
.text
|
||||
foo:
|
||||
__tagsym$$0:
|
||||
add r0, r1, r2
|
||||
|
||||
.data
|
||||
.global global_a
|
||||
__tagsym$$used0:
|
||||
global_a:
|
||||
.word 0xcafedead
|
||||
|
||||
.global __tagsym$$used1
|
||||
__tagsym$$used1:
|
||||
global_b:
|
||||
.word 0xcafecafe
|
@ -1,3 +1,7 @@
|
||||
2015-03-03 Jiong Wang <jiong.wang@arm.com>
|
||||
|
||||
* arm-dis.c (arm_symbol_is_valid): Skip ARM private symbols.
|
||||
|
||||
2015-02-25 Oleg Endo <olegendo@gcc.gnu.org>
|
||||
|
||||
* sh-opc.h (clrs, sets): Mark as arch_sh3_nommu_up instead of
|
||||
|
@ -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. */
|
||||
|
Loading…
Reference in New Issue
Block a user