aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-arm.c
diff options
context:
space:
mode:
authorAndre Vieira <andre.simoesdiasvieira@arm.com>2019-05-21 14:51:43 +0100
committerAndre Vieira <andre.simoesdiasvieira@arm.com>2019-05-21 14:53:49 +0100
commit8fe9a076adf308ec813246a96f915c5ab5b6a75f (patch)
tree00f5b0affa26916e302aacf68080aedddf2acfd4 /gas/config/tc-arm.c
parente6f65e7573a317ac4efff26fe0e49fe1b9e7a596 (diff)
downloadgdb-8fe9a076adf308ec813246a96f915c5ab5b6a75f.zip
gdb-8fe9a076adf308ec813246a96f915c5ab5b6a75f.tar.gz
gdb-8fe9a076adf308ec813246a96f915c5ab5b6a75f.tar.bz2
[GAS, Arm] PR24559: Fix pseudo load-operations for Armv8-M Baseline
gas/ChangeLog: 2019-05-21 Andre Vieira <andre.simoesdiasvieira@arm.com> PR 24559 * config/tc-arm.c (move_or_literal_pool): Set size_req to 0 for MOVW replacement. * testsuite/gas/arm/load-pseudo.s: New test input. * testsuite/gas/arm/m0-load-pseudo.d: New test. * testsuite/gas/arm/m23-load-pseudo.d: New test. * testsuite/gas/arm/m33-load-pseudo.d: New test.
Diffstat (limited to 'gas/config/tc-arm.c')
-rw-r--r--gas/config/tc-arm.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index ff7f9ad..136df33 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -8696,6 +8696,11 @@ move_or_literal_pool (int i, enum lit_type t, bfd_boolean mode_3)
inst.instruction |= (imm & 0x0800) << 15;
inst.instruction |= (imm & 0x0700) << 4;
inst.instruction |= (imm & 0x00ff);
+ /* In case this replacement is being done on Armv8-M
+ Baseline we need to make sure to disable the
+ instruction size check, as otherwise GAS will reject
+ the use of this T32 instruction. */
+ inst.size_req = 0;
return TRUE;
}
}