diff options
author | Jiong Wang <jiong.wang@arm.com> | 2014-08-26 16:18:36 +0100 |
---|---|---|
committer | Jiong Wang <jiong.wang@arm.com> | 2014-08-26 16:18:36 +0100 |
commit | 7f78eb340a4b3f46d842058cd26aad7ffa438c16 (patch) | |
tree | 03c549894993bfb986fe1fd7591112646d3d43c3 /gas/config | |
parent | 614b09cefb3bafa840fe5ed06c58024b0ff9c1cb (diff) | |
download | binutils-7f78eb340a4b3f46d842058cd26aad7ffa438c16.zip binutils-7f78eb340a4b3f46d842058cd26aad7ffa438c16.tar.gz binutils-7f78eb340a4b3f46d842058cd26aad7ffa438c16.tar.bz2 |
[ARM] Update selected_cpu based on info got during parsing
gas/
* config/tc-arm.c (aeabi_set_public_attributes): Update intended_arch based
on the info we got during parsing.
(arm_handle_align): Make sure the p2align expanding logic under thumb
unchanged.
gas/testsuite/
* gas/arm/blx-bl-convert.d: New testcase.
* gas/arm/blx-bl-convert.l: Warning expectation.
* gas/arm/blx-bl-convert.s: Source file.
Diffstat (limited to 'gas/config')
-rw-r--r-- | gas/config/tc-arm.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index 560b4cf..0e6cb7a 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -20848,7 +20848,8 @@ arm_handle_align (fragS * fragP) if (fragP->tc_frag_data.thumb_mode & (~ MODE_RECORDED)) { - if (ARM_CPU_HAS_FEATURE (selected_cpu, arm_ext_v6t2)) + if (ARM_CPU_HAS_FEATURE (selected_cpu_name[0] + ? selected_cpu : arm_arch_none, arm_ext_v6t2)) { narrow_noop = thumb_noop[1][target_big_endian]; noop = wide_thumb_noop[target_big_endian]; @@ -20862,7 +20863,9 @@ arm_handle_align (fragS * fragP) } else { - noop = arm_noop[ARM_CPU_HAS_FEATURE (selected_cpu, arm_ext_v6k) != 0] + noop = arm_noop[ARM_CPU_HAS_FEATURE (selected_cpu_name[0] + ? selected_cpu : arm_arch_none, + arm_ext_v6k) != 0] [target_big_endian]; noop_size = 4; #ifdef OBJ_ELF @@ -25109,6 +25112,8 @@ aeabi_set_public_attributes (void) if (ARM_CPU_HAS_FEATURE (thumb_arch_used, arm_arch_any)) ARM_MERGE_FEATURE_SETS (flags, flags, arm_ext_v4t); + selected_cpu = flags; + /* Allow the user to override the reported architecture. */ if (object_arch) { |