mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2025-02-10 19:24:29 +00:00
PR gas/12854
* gas/arm/shift-bad.s: New test. * gas/arm/shift-bad.l: Expcted error output. * gas/arm/shift-bad.s: New control file. * config/tc-arm.c (do_shift): Do not allow shift operations at the end of a register based shift insn. (do_t_shift): Likewise.
This commit is contained in:
parent
f9e53abc4a
commit
94342ec38b
@ -1,3 +1,10 @@
|
||||
2011-06-13 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
PR gas/12854
|
||||
* config/tc-arm.c (do_shift): Do not allow shift operations at the
|
||||
end of a register based shift insn.
|
||||
(do_t_shift): Likewise.
|
||||
|
||||
2011-06-13 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* config/tc-score.c (s3_my_get_expression): Delete unused local
|
||||
|
@ -8343,6 +8343,9 @@ do_shift (void)
|
||||
{
|
||||
inst.instruction |= inst.operands[2].reg << 8;
|
||||
inst.instruction |= SHIFT_BY_REG;
|
||||
/* PR 12854: Error on extraneous shifts. */
|
||||
constraint (inst.operands[2].shifted,
|
||||
_("extraneous shift as part of operand to shift insn"));
|
||||
}
|
||||
else
|
||||
inst.reloc.type = BFD_RELOC_ARM_SHIFT_IMM;
|
||||
@ -11535,6 +11538,10 @@ do_t_shift (void)
|
||||
inst.instruction |= inst.operands[0].reg << 8;
|
||||
inst.instruction |= inst.operands[1].reg << 16;
|
||||
inst.instruction |= inst.operands[2].reg;
|
||||
|
||||
/* PR 12854: Error on extraneous shifts. */
|
||||
constraint (inst.operands[2].shifted,
|
||||
_("extraneous shift as part of operand to shift insn"));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1,3 +1,10 @@
|
||||
2011-06-13 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
PR gas/12854
|
||||
* gas/arm/shift-bad.s: New test.
|
||||
* gas/arm/shift-bad.l: Expcted error output.
|
||||
* gas/arm/shift-bad.s: New control file.
|
||||
|
||||
2011-06-12 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* gas/i386/arch-10-lzcnt.d: Updated.
|
||||
|
3
gas/testsuite/gas/arm/shift-bad.d
Normal file
3
gas/testsuite/gas/arm/shift-bad.d
Normal file
@ -0,0 +1,3 @@
|
||||
# name: PR 12854: Extraneous shifts
|
||||
# as:
|
||||
# error-output: shift-bad.l
|
6
gas/testsuite/gas/arm/shift-bad.l
Normal file
6
gas/testsuite/gas/arm/shift-bad.l
Normal file
@ -0,0 +1,6 @@
|
||||
.*shift-bad.s: Assembler messages:
|
||||
.*shift-bad.s:3: Error: extraneous shift as part of operand to shift insn -- `asr r0,r1,r2,ror#5'
|
||||
.*shift-bad.s:4: Error: extraneous shift as part of operand to shift insn -- `ror r0,r1,r2,lsl r3'
|
||||
.*shift-bad.s:8: Error: extraneous shift as part of operand to shift insn -- `ror r0,r1,r2,lsl#1'
|
||||
.*shift-bad.s:9: Error: extraneous shift as part of operand to shift insn -- `lsl r0,r1,r2,lsl#1'
|
||||
.*shift-bad.s:10: Error: extraneous shift as part of operand to shift insn -- `lsl r0,r1,r2,asr r0'
|
10
gas/testsuite/gas/arm/shift-bad.s
Normal file
10
gas/testsuite/gas/arm/shift-bad.s
Normal file
@ -0,0 +1,10 @@
|
||||
.syntax unified
|
||||
|
||||
asr r0, r1, r2, ror #5
|
||||
ror r0, r1, r2, lsl r3
|
||||
|
||||
.thumb_func
|
||||
foo:
|
||||
ror r0, r1, r2, lsl #1
|
||||
lsl r0, r1, r2, lsl #1
|
||||
lsl r0, r1, r2, asr r0
|
Loading…
x
Reference in New Issue
Block a user