mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-07-23 01:08:50 +08:00
x86: fix register check in check_qword_reg()
A missing 'r' (or wrong 'e') register prefix needs to be complained about if the template allows for a 64-bit register, not a 32-bit one. I assume this was a copy-and-paste type of mistake (from check_long_reg()).
This commit is contained in:
gas
@ -1,3 +1,12 @@
|
|||||||
|
2016-07-04 Jan Beulich <jbeulich@suse.com>
|
||||||
|
|
||||||
|
* config/tc-i386.c (check_qword_reg): Correct register kind
|
||||||
|
checked.
|
||||||
|
* testsuite/gas/i386/x86-64-suffix-bad.s: Add q-suffix with
|
||||||
|
16-bit register cases.
|
||||||
|
* testsuite/gas/i386/x86-64-suffix-bad.l: Adjust expectations.
|
||||||
|
|
||||||
|
|
||||||
2016-07-02 Maciej W. Rozycki <macro@imgtec.com>
|
2016-07-02 Maciej W. Rozycki <macro@imgtec.com>
|
||||||
|
|
||||||
* testsuite/gas/mips/ecoff@ld.d: Remove test.
|
* testsuite/gas/mips/ecoff@ld.d: Remove test.
|
||||||
|
@ -5670,7 +5670,7 @@ check_qword_reg (void)
|
|||||||
/* Warn if the r prefix on a general reg is missing. */
|
/* Warn if the r prefix on a general reg is missing. */
|
||||||
else if ((i.types[op].bitfield.reg16
|
else if ((i.types[op].bitfield.reg16
|
||||||
|| i.types[op].bitfield.reg32)
|
|| i.types[op].bitfield.reg32)
|
||||||
&& (i.tm.operand_types[op].bitfield.reg32
|
&& (i.tm.operand_types[op].bitfield.reg64
|
||||||
|| i.tm.operand_types[op].bitfield.acc))
|
|| i.tm.operand_types[op].bitfield.acc))
|
||||||
{
|
{
|
||||||
/* Prohibit these changes in the 64bit mode, since the
|
/* Prohibit these changes in the 64bit mode, since the
|
||||||
|
@ -11,3 +11,7 @@
|
|||||||
.*:15: Error: .*
|
.*:15: Error: .*
|
||||||
.*:16: Error: .*
|
.*:16: Error: .*
|
||||||
.*:17: Error: .*
|
.*:17: Error: .*
|
||||||
|
.*:19: Error: .*
|
||||||
|
.*:20: Error: .*
|
||||||
|
.*:21: Error: .*
|
||||||
|
.*:22: Error: .*
|
||||||
|
@ -15,3 +15,8 @@ start:
|
|||||||
orb %rax, (%rax)
|
orb %rax, (%rax)
|
||||||
orw %rax, (%rax)
|
orw %rax, (%rax)
|
||||||
orl %rax, (%rax)
|
orl %rax, (%rax)
|
||||||
|
|
||||||
|
pushq %ax
|
||||||
|
popq %ax
|
||||||
|
callq *%ax
|
||||||
|
jmpq *%ax
|
||||||
|
Reference in New Issue
Block a user