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:
H.J. Lu 2011-03-29 12:40:51 +00:00
parent fc99ebdc2b
commit 75c1c785ac
5 changed files with 23 additions and 8 deletions

View File

@ -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>
* config/bfin-parse.y (BYTEUNPACK): Return yyerror when dest

View File

@ -9182,19 +9182,19 @@ handle_quad (int nbytes)
if (exp.X_op != O_constant)
nbytes = 4;
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++ == ',');
input_line_pointer--; /* Put terminator back into stream. */
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 */

View File

@ -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>
* gas/bfin/expected_errors.s: Add invalid BYTEUNPACK insn tests.

View File

@ -7,8 +7,12 @@ RELOCATION RECORDS FOR \[.data\]:
OFFSET +TYPE +VALUE
0+ R_X86_64_32 +foo
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:
0000 00000000 00000000 efcdab90 78674512 ............xgE.
0010 00000000 00000000 ffffffff ffffffff ................
0020 00000000 00000000 efcdab90 78674512 ............xgE.
0030 00000000 00000000 ffffffff ffffffff ................

View File

@ -3,3 +3,4 @@
.quad 0x1245677890abcdef
.quad bar
.quad -1
.quad foo, 0x1245677890abcdef, bar, -1