aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-i386.c8
-rw-r--r--gas/testsuite/ChangeLog4
-rw-r--r--gas/testsuite/gas/i386/intel.d1
-rw-r--r--gas/testsuite/gas/i386/intel.s1
5 files changed, 19 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index e9176ce..f82e499 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2000-11-30 Diego Novillo <dnovillo@redhat.com>
+
+ * tc-i386.c (md_assemble): Swap i.disp_relocs when using intel
+ syntax.
+
2000-11-29 Richard Henderson <rth@redhat.com>
* dwarf2dbg.c: Rewrite from scratch. Queue all debugging output
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index 737acd9..ed5c956 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -1383,6 +1383,11 @@ md_assemble (line)
{
union i386_op temp_op;
unsigned int temp_type;
+#ifdef BFD_ASSEMBLER
+ enum bfd_reloc_code_real temp_disp_reloc;
+#else
+ int temp_disp_reloc;
+#endif
int xchg1 = 0;
int xchg2 = 0;
@@ -1402,6 +1407,9 @@ md_assemble (line)
temp_op = i.op[xchg2];
i.op[xchg2] = i.op[xchg1];
i.op[xchg1] = temp_op;
+ temp_disp_reloc = i.disp_reloc[xchg2];
+ i.disp_reloc[xchg2] = i.disp_reloc[xchg1];
+ i.disp_reloc[xchg1] = temp_disp_reloc;
if (i.mem_operands == 2)
{
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 1e3638e..9ef71b3 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2000-11-30 Diego Novillo <dnovillo@redhat.com>
+
+ * intel.s, intel.d: New test for @GOT references.
+
2000-11-28 Hans-Peter Nilsson <hp@bitrange.com>
* gas/sh/err.exp: New, framework for error-testing.
diff --git a/gas/testsuite/gas/i386/intel.d b/gas/testsuite/gas/i386/intel.d
index ff46bf8..5f53afa 100644
--- a/gas/testsuite/gas/i386/intel.d
+++ b/gas/testsuite/gas/i386/intel.d
@@ -624,3 +624,4 @@ Disassembly of section .text:
a7d: 90 [ ]*nop
a7e: 90 [ ]*nop
a7f: 90 [ ]*nop
+ a80: 8b 83 00 00 00 00 [ ]*mov 0x0\(%ebx\),%eax
diff --git a/gas/testsuite/gas/i386/intel.s b/gas/testsuite/gas/i386/intel.s
index 0aaeb9e..7b4c2f0 100644
--- a/gas/testsuite/gas/i386/intel.s
+++ b/gas/testsuite/gas/i386/intel.s
@@ -619,3 +619,4 @@ rot5:
nop
nop
nop
+ mov eax, DWORD PTR gs_foo@GOT[ebx]