+2005-08-26 Jan Beulich <jbeulich@novell.com>
+
+ * config/tc-i386.c (intel_e09): Set JumpAbsolute when seeing a PTR-
+ qualified operand of a branch.
+ (intel_bracket_expr): Set JumpAbsolute here...
+ (intel_e11): ... rather than here.
+
2005-08-26 Christian Groessler <chris@groessler.org>
* configure.tgt: Set bfd_gas also for z8k cpu.
suffix = WORD_MNEM_SUFFIX;
else if (flag_code == CODE_16BIT
&& (current_templates->start->opcode_modifier
- & (Jump|JumpDword|JumpInterSegment)))
+ & (Jump | JumpDword)))
suffix = LONG_DOUBLE_MNEM_SUFFIX;
else if (intel_parser.got_a_float == 1) /* "f..." */
suffix = SHORT_MNEM_SUFFIX;
return 0;
}
+ /* Operands for jump/call using 'ptr' notation denote absolute
+ addresses. */
+ if (current_templates->start->opcode_modifier & (Jump | JumpDword))
+ i.types[this_operand] |= JumpAbsolute;
+
if (current_templates->start->base_opcode == 0x8d /* lea */)
;
else if (!i.suffix)
if (!intel_parser.in_offset)
{
++intel_parser.in_bracket;
+
+ /* Operands for jump/call inside brackets denote absolute addresses. */
+ if (current_templates->start->opcode_modifier & (Jump | JumpDword))
+ i.types[this_operand] |= JumpAbsolute;
+
/* Unfortunately gas always diverged from MASM in a respect that can't
be easily fixed without risking to break code sequences likely to be
encountered (the testsuite even check for this): MASM doesn't consider
/* e11 [ expr ] */
case '[':
- /* Operands for jump/call inside brackets denote absolute addresses.
- XXX This shouldn't be needed anymore (or if it should rather live
- in intel_bracket_expr). */
- if (current_templates->start->opcode_modifier
- & (Jump|JumpDword|JumpByte|JumpInterSegment))
- i.types[this_operand] |= JumpAbsolute;
-
return intel_bracket_expr ();
/* e11 $
+2005-08-26 Jan Beulich <jbeulich@novell.com>
+
+ * gas/i386/intel.s: Adjust.
+ * gas/i386/intelok.s: Add two more insns.
+ * gas/i386/intelok.d: Adjust.
+
2005-08-26 Jan Beulich <jbeulich@novell.com>
* gas/i386/intelok.d: Adjust.
[ ]*[0-9a-f]+: a1 08 00 00 00[ ]+mov[ ]+eax,ds:0x8
[ ]*[0-9a-f]+: 9a 05 00 00 00 03 00[ ]+l?call[ ]+0x3[,:]0x5
[ ]*[0-9a-f]+: ea 03 00 00 00 05 00[ ]+l?jmp[ ]+0x5[,:]0x3
+[ ]*[0-9a-f]+: ff 15 00 00 00 00[ ]+call[ ]+(DWORD PTR )?(ds:)?0x0
+[ ]*[0-9a-f]+: 66 ff 25 00 00 00 00[ ]+jmp[ ]+(WORD PTR )?(ds:)?0x0
#pass