diff options
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-arm.c | 9 | ||||
-rw-r--r-- | gas/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/attr-any-armv4t.d | 13 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/attr-any-armv4t.s | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/attr-any-thumbv6.d | 12 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/attr-any-thumbv6.s | 2 |
7 files changed, 48 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 2d0b419..cb38a19 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2011-12-05 Richard Earnshaw <rearnsha@arm.com> + + * tc-arm.c (aeabi_set_public_attributes): Correctly set + Tag_ARM_ISA_use and Tag_Thumb_ISA_use. + 2011-11-30 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> * config/tc-arm.c (arm_cpu_option_table): Add name_len field. diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index 9111019..e521689 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -23666,7 +23666,14 @@ aeabi_set_public_attributes (void) ARM_MERGE_FEATURE_SETS (flags, arm_arch_used, thumb_arch_used); ARM_MERGE_FEATURE_SETS (flags, flags, *mfpu_opt); ARM_MERGE_FEATURE_SETS (flags, flags, selected_cpu); - /*Allow the user to override the reported architecture. */ + + if (ARM_CPU_HAS_FEATURE (arm_arch_used, arm_arch_any)) + ARM_MERGE_FEATURE_SETS (flags, flags, arm_ext_v1); + + if (ARM_CPU_HAS_FEATURE (thumb_arch_used, arm_arch_any)) + ARM_MERGE_FEATURE_SETS (flags, flags, arm_ext_v4t); + + /* Allow the user to override the reported architecture. */ if (object_arch) { ARM_CLEAR_FEATURE (flags, flags, arm_arch_any); diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index deb4360..1879288 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2011-12-05 Richard Earnshaw <rearnsha@arm.com> + + * gas/arm/attr-any-armv4t.d: New test. + * gas/arm/attr-any-armv4t.s: New file. + * gas/arm/attr-any-thumbv6.d: New test. + * gas/arm/attr-any-thumbv6.s: New file. + 2011-11-30 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> * gas/arm/cmdline-bad-arch.d: New test case. diff --git a/gas/testsuite/gas/arm/attr-any-armv4t.d b/gas/testsuite/gas/arm/attr-any-armv4t.d new file mode 100644 index 0000000..14be589 --- /dev/null +++ b/gas/testsuite/gas/arm/attr-any-armv4t.d @@ -0,0 +1,13 @@ +# name: attributes for 'any' cpu v4t ARM insn +# source: attr-any-armv4t.s +# as: +# readelf: -A +# This test is only valid on EABI based ports. +# target: *-*-*eabi + +Attribute Section: aeabi +File Attributes + Tag_CPU_arch: v4T + Tag_ARM_ISA_use: Yes + Tag_THUMB_ISA_use: Thumb-1 + Tag_DIV_use: Not allowed diff --git a/gas/testsuite/gas/arm/attr-any-armv4t.s b/gas/testsuite/gas/arm/attr-any-armv4t.s new file mode 100644 index 0000000..290e531 --- /dev/null +++ b/gas/testsuite/gas/arm/attr-any-armv4t.s @@ -0,0 +1 @@ + bx lr diff --git a/gas/testsuite/gas/arm/attr-any-thumbv6.d b/gas/testsuite/gas/arm/attr-any-thumbv6.d new file mode 100644 index 0000000..be8ec46 --- /dev/null +++ b/gas/testsuite/gas/arm/attr-any-thumbv6.d @@ -0,0 +1,12 @@ +# name: attributes for 'any' cpu v6 thumb insn +# source: attr-any-thumbv6.s +# as: +# readelf: -A +# This test is only valid on EABI based ports. +# target: *-*-*eabi + +Attribute Section: aeabi +File Attributes + Tag_CPU_arch: v6 + Tag_THUMB_ISA_use: Thumb-1 + Tag_DIV_use: Not allowed diff --git a/gas/testsuite/gas/arm/attr-any-thumbv6.s b/gas/testsuite/gas/arm/attr-any-thumbv6.s new file mode 100644 index 0000000..ed019c8 --- /dev/null +++ b/gas/testsuite/gas/arm/attr-any-thumbv6.s @@ -0,0 +1,2 @@ + .thumb + cpy r0, r1 |