This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
i386 Intel synax assembler is broken.
- To: dnovillo at cygnus dot com
- Subject: i386 Intel synax assembler is broken.
- From: "H . J . Lu" <hjl at valinux dot com>
- Date: Tue, 15 Aug 2000 19:03:13 -0700
- Cc: binutils at sourceware dot cygnus dot com
Did you run "make check" before and after you checked in this patch?
I got a failure on Intel synax test. Back out your patch fixes it.
Could you please fix it?
Thanks.
--
H.J. Lu (hjl@gnu.org)
--
Wed Aug 9 16:28:21 EDT 2000 Diego Novillo <dnovillo@cygnus.com>
* tc-i386.c (md_assemble): Skip suffix check if the opcode modifier
has the IgnoreSize bit set.
Index: config/tc-i386.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-i386.c,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -p -r1.58 -r1.59
--- tc-i386.c 2000/08/04 18:43:45 1.58
+++ tc-i386.c 2000/08/14 21:12:47 1.59
@@ -1519,6 +1519,8 @@ md_assemble (line)
/* Check the suffix, except for some instructions in intel mode. */
if ((t->opcode_modifier & suffix_check)
&& !(intel_syntax
+ && (t->opcode_modifier & IgnoreSize))
+ && !(intel_syntax
&& t->base_opcode == 0xd9
&& (t->extension_opcode == 5 /* 0xd9,5 "fldcw" */
|| t->extension_opcode == 7))) /* 0xd9,7 "f{n}stcw" */
@@ -1808,6 +1810,9 @@ md_assemble (line)
}
#endif
}
+ else if (intel_syntax && (i.tm.opcode_modifier & IgnoreSize))
+ /* Do nothing if the instruction is going to ignore the prefix. */
+ ;
else
abort ();
}