mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-26 22:07:58 +08:00
Properly handle multiple operands for x32 quad.
gas/ 2011-03-29 H.J. Lu <hongjiu.lu@intel.com> * config/tc-i386.c (handle_quad): Properly handle multiple operands. gas/testsuite/ 2011-03-29 H.J. Lu <hongjiu.lu@intel.com> * gas/i386/ilp32/quad.d: Add tests for multiple operands. * gas/i386/ilp32/quad.s: Likewise.
This commit is contained in:
@ -1,3 +1,8 @@
|
|||||||
|
2011-03-29 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
|
* config/tc-i386.c (handle_quad): Properly handle multiple
|
||||||
|
operands.
|
||||||
|
|
||||||
2011-03-29 Mike Frysinger <vapier@gentoo.org>
|
2011-03-29 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
* config/bfin-parse.y (BYTEUNPACK): Return yyerror when dest
|
* config/bfin-parse.y (BYTEUNPACK): Return yyerror when dest
|
||||||
|
@ -9182,19 +9182,19 @@ handle_quad (int nbytes)
|
|||||||
if (exp.X_op != O_constant)
|
if (exp.X_op != O_constant)
|
||||||
nbytes = 4;
|
nbytes = 4;
|
||||||
emit_expr (&exp, (unsigned int) nbytes);
|
emit_expr (&exp, (unsigned int) nbytes);
|
||||||
|
/* Zero-extends to 8 bytes if not constant. */
|
||||||
|
if (nbytes == 4)
|
||||||
|
{
|
||||||
|
memset (&exp, '\0', sizeof (exp));
|
||||||
|
exp.X_op = O_constant;
|
||||||
|
emit_expr (&exp, nbytes);
|
||||||
|
}
|
||||||
|
nbytes = 8;
|
||||||
}
|
}
|
||||||
while (*input_line_pointer++ == ',');
|
while (*input_line_pointer++ == ',');
|
||||||
|
|
||||||
input_line_pointer--; /* Put terminator back into stream. */
|
input_line_pointer--; /* Put terminator back into stream. */
|
||||||
|
|
||||||
demand_empty_rest_of_line ();
|
demand_empty_rest_of_line ();
|
||||||
|
|
||||||
/* Zero-extends to 8 bytes if not constant. */
|
|
||||||
if (nbytes == 4)
|
|
||||||
{
|
|
||||||
memset (&exp, '\0', sizeof (exp));
|
|
||||||
exp.X_op = O_constant;
|
|
||||||
emit_expr (&exp, nbytes);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
#endif /* OBJ_ELF || OBJ_MAYBE_ELF */
|
#endif /* OBJ_ELF || OBJ_MAYBE_ELF */
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2011-03-29 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
|
* gas/i386/ilp32/quad.d: Add tests for multiple operands.
|
||||||
|
* gas/i386/ilp32/quad.s: Likewise.
|
||||||
|
|
||||||
2011-03-29 Mike Frysinger <vapier@gentoo.org>
|
2011-03-29 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
* gas/bfin/expected_errors.s: Add invalid BYTEUNPACK insn tests.
|
* gas/bfin/expected_errors.s: Add invalid BYTEUNPACK insn tests.
|
||||||
|
@ -7,8 +7,12 @@ RELOCATION RECORDS FOR \[.data\]:
|
|||||||
OFFSET +TYPE +VALUE
|
OFFSET +TYPE +VALUE
|
||||||
0+ R_X86_64_32 +foo
|
0+ R_X86_64_32 +foo
|
||||||
0+10 R_X86_64_32 +bar
|
0+10 R_X86_64_32 +bar
|
||||||
|
0+20 R_X86_64_32 +foo
|
||||||
|
0+30 R_X86_64_32 +bar
|
||||||
|
|
||||||
|
|
||||||
Contents of section .data:
|
Contents of section .data:
|
||||||
0000 00000000 00000000 efcdab90 78674512 ............xgE.
|
0000 00000000 00000000 efcdab90 78674512 ............xgE.
|
||||||
0010 00000000 00000000 ffffffff ffffffff ................
|
0010 00000000 00000000 ffffffff ffffffff ................
|
||||||
|
0020 00000000 00000000 efcdab90 78674512 ............xgE.
|
||||||
|
0030 00000000 00000000 ffffffff ffffffff ................
|
||||||
|
@ -3,3 +3,4 @@
|
|||||||
.quad 0x1245677890abcdef
|
.quad 0x1245677890abcdef
|
||||||
.quad bar
|
.quad bar
|
||||||
.quad -1
|
.quad -1
|
||||||
|
.quad foo, 0x1245677890abcdef, bar, -1
|
||||||
|
Reference in New Issue
Block a user