diff options
author | Paul Brook <paul@codesourcery.com> | 2006-03-09 23:05:59 +0000 |
---|---|---|
committer | Paul Brook <paul@codesourcery.com> | 2006-03-09 23:05:59 +0000 |
commit | 384060486dd68b7a2ac169b5be59ae7a539b36f8 (patch) | |
tree | aac8dd4e5eaab1bec30946b21652686c034a4042 | |
parent | b74ef8b8377a3a97d4e4f0c7d675beecffdebb83 (diff) | |
download | gdb-384060486dd68b7a2ac169b5be59ae7a539b36f8.zip gdb-384060486dd68b7a2ac169b5be59ae7a539b36f8.tar.gz gdb-384060486dd68b7a2ac169b5be59ae7a539b36f8.tar.bz2 |
2006-03-09 Paul Brook <paul@codesourcery.com>
bfd/
* cpu-arm.c (bfd_is_arm_mapping_symbol_name): Recognise additional
mapping symbols.
gas/testsuite/
* gas/arm/nomapping.d: New test.
* gas/arm/nomapping.s: New test.
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/cpu-arm.c | 7 | ||||
-rw-r--r-- | gas/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/nomapping.d | 8 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/nomapping.s | 19 |
5 files changed, 42 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 49d65ce..4166c67 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2006-03-09 Paul Brook <paul@codesourcery.com> + + * cpu-arm.c (bfd_is_arm_mapping_symbol_name): Recognise additional + mapping symbols. + 2006-03-09 Khem Raj <khem@mvista.com> * elf32-arm.c(elf32_arm_finish_dynamic_sections): Use unsigned diff --git a/bfd/cpu-arm.c b/bfd/cpu-arm.c index 3f56e8f..a28a1f9 100644 --- a/bfd/cpu-arm.c +++ b/bfd/cpu-arm.c @@ -404,9 +404,12 @@ bfd_arm_get_mach_from_notes (bfd *abfd, const char *note_section) bfd_boolean bfd_is_arm_mapping_symbol_name (const char * name) { + /* The ARM compiler outputs several obsolete forms. Recognize them + in addition to the standard $a, $t and $d. */ return (name != NULL) && (name[0] == '$') - && ((name[1] == 'a') || (name[1] == 't') || (name[1] == 'd')) - && (name[2] == 0); + && ((name[1] == 'a') || (name[1] == 't') || (name[1] == 'd') + || (name[1] == 'm') || (name[1] == 'f') || (name[1] == 'p')) + && (name[2] == 0 || name[2] == '.'); } diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index e4cf9a4..bd72b84 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2006-03-09 Paul Brook <paul@codesourcery.com> + + * gas/arm/nomapping.d: New test. + * gas/arm/nomapping.s: New test. + 2006-03-07 H.J. Lu <hongjiu.lu@intel.com> PR binutils/2428 diff --git a/gas/testsuite/gas/arm/nomapping.d b/gas/testsuite/gas/arm/nomapping.d new file mode 100644 index 0000000..76f2833 --- /dev/null +++ b/gas/testsuite/gas/arm/nomapping.d @@ -0,0 +1,8 @@ +#nm: -n +#name: ARM Mapping Symbols Ignored +# This test is only valid on ELF based ports. +#not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix* + +# Check ARM ELF Mapping Symbols are ignored properly +0+0 t sym1 +0+c t sym2 diff --git a/gas/testsuite/gas/arm/nomapping.s b/gas/testsuite/gas/arm/nomapping.s new file mode 100644 index 0000000..efe92ae --- /dev/null +++ b/gas/testsuite/gas/arm/nomapping.s @@ -0,0 +1,19 @@ + .text + .arm +sym1: + nop + .thumb + nop + nop +$a.foo: +$t.foo: +$d.foo: +@ Obsolete mapping symbols generated by armcc. +$m: +$m.foo: +$f: +$f.foo: +$p: +$p.foo: + .word 0 +sym2: |