aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-i386-intel.c1
-rw-r--r--gas/testsuite/ChangeLog13
-rw-r--r--gas/testsuite/gas/i386/disp-intel.d1
-rw-r--r--gas/testsuite/gas/i386/disp.d1
-rw-r--r--gas/testsuite/gas/i386/disp.s2
-rw-r--r--gas/testsuite/gas/i386/intelbad.l1
-rw-r--r--gas/testsuite/gas/i386/intelbad.s2
-rw-r--r--gas/testsuite/gas/i386/x86-64-disp-intel.d1
-rw-r--r--gas/testsuite/gas/i386/x86-64-disp.d1
-rw-r--r--gas/testsuite/gas/i386/x86-64-disp.s2
11 files changed, 28 insertions, 2 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 9a9026e..83f867c 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,10 @@
2009-09-15 H.J. Lu <hongjiu.lu@intel.com>
+ * config/tc-i386-intel.c (i386_intel_operand): Initialize
+ intel_state.has_offset to 0.
+
+2009-09-15 H.J. Lu <hongjiu.lu@intel.com>
+
* config/tc-i386.c (offset_in_range): Sign extend offset only
for 32bit address mode.
diff --git a/gas/config/tc-i386-intel.c b/gas/config/tc-i386-intel.c
index 0c37e45..5d5e0c1 100644
--- a/gas/config/tc-i386-intel.c
+++ b/gas/config/tc-i386-intel.c
@@ -466,6 +466,7 @@ i386_intel_operand (char *operand_string, int got_a_float)
/* Initialize state structure. */
intel_state.op_modifier = O_absent;
intel_state.is_mem = 0;
+ intel_state.has_offset = 0;
intel_state.base = NULL;
intel_state.index = NULL;
intel_state.seg = NULL;
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index ceff29a..9d2fff2 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,16 @@
+2009-09-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gas/i386/disp.s: Add an offset test.
+ * gas/i386/x86-64-disp.s: Likewise.
+
+ * gas/i386/intelbad.s: Comment out "byte ptr [1]" test.
+
+ * gas/i386/disp.d: Updated.
+ * gas/i386/disp-intel.d: Likewise.
+ * gas/i386/intelbad.l: Likewise.
+ * gas/i386/x86-64-disp.d: Likewise.
+ * gas/i386/x86-64-disp-intel.d: Likewise.
+
2009-09-14 H.J. Lu <hongjiu.lu@intel.com>
PR gas/10637
diff --git a/gas/testsuite/gas/i386/disp-intel.d b/gas/testsuite/gas/i386/disp-intel.d
index 2ab09dc..9428ac8 100644
--- a/gas/testsuite/gas/i386/disp-intel.d
+++ b/gas/testsuite/gas/i386/disp-intel.d
@@ -16,6 +16,7 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: a1 ff ff ff 7f mov eax,ds:0x7fffffff
[ ]*[a-f0-9]+: a1 00 00 00 80 mov eax,ds:0x80000000
[ ]*[a-f0-9]+: a1 00 00 00 80 mov eax,ds:0x80000000
+[ ]*[a-f0-9]+: b8 f0 00 e0 0e mov eax,0xee000f0
[ ]*[a-f0-9]+: 89 98 f0 00 e0 0e mov DWORD PTR \[eax\+0xee000f0\],ebx
[ ]*[a-f0-9]+: 89 98 f0 00 e0 0e mov DWORD PTR \[eax\+0xee000f0\],ebx
[ ]*[a-f0-9]+: 65 89 98 f0 00 e0 0e mov DWORD PTR gs:\[eax\+0xee000f0\],ebx
diff --git a/gas/testsuite/gas/i386/disp.d b/gas/testsuite/gas/i386/disp.d
index 349ce2c..91d6941 100644
--- a/gas/testsuite/gas/i386/disp.d
+++ b/gas/testsuite/gas/i386/disp.d
@@ -16,6 +16,7 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: a1 ff ff ff 7f mov 0x7fffffff,%eax
[ ]*[a-f0-9]+: a1 00 00 00 80 mov 0x80000000,%eax
[ ]*[a-f0-9]+: a1 00 00 00 80 mov 0x80000000,%eax
+[ ]*[a-f0-9]+: b8 f0 00 e0 0e mov \$0xee000f0,%eax
[ ]*[a-f0-9]+: 89 98 f0 00 e0 0e mov %ebx,0xee000f0\(%eax\)
[ ]*[a-f0-9]+: 89 98 f0 00 e0 0e mov %ebx,0xee000f0\(%eax\)
[ ]*[a-f0-9]+: 65 89 98 f0 00 e0 0e mov %ebx,%gs:0xee000f0\(%eax\)
diff --git a/gas/testsuite/gas/i386/disp.s b/gas/testsuite/gas/i386/disp.s
index 993ea67..97246fa 100644
--- a/gas/testsuite/gas/i386/disp.s
+++ b/gas/testsuite/gas/i386/disp.s
@@ -10,6 +10,8 @@
mov -0x80000000,%eax
.intel_syntax noprefix
+ mov eax, offset 0xEE000F0
+
mov DWORD PTR [eax+0xEE000F0], ebx
mov [eax+0xEE000F0], ebx
mov DWORD PTR gs:[eax+0xEE000F0], ebx
diff --git a/gas/testsuite/gas/i386/intelbad.l b/gas/testsuite/gas/i386/intelbad.l
index bdc2645..6321cc8 100644
--- a/gas/testsuite/gas/i386/intelbad.l
+++ b/gas/testsuite/gas/i386/intelbad.l
@@ -151,5 +151,4 @@
.*:167: Error: .*
.*:168: Error: .*
.*:169: Error: .*
-.*:170: Error: .*
.*:172: Error: .*
diff --git a/gas/testsuite/gas/i386/intelbad.s b/gas/testsuite/gas/i386/intelbad.s
index 9df2aa2..b3d1f76 100644
--- a/gas/testsuite/gas/i386/intelbad.s
+++ b/gas/testsuite/gas/i386/intelbad.s
@@ -167,6 +167,6 @@ start:
movzx eax, byte ptr [gs:eax]
movzx eax, byte gs:ptr [eax]
movzx eax, byte ptr 1
- movzx eax, byte ptr [1]
+#XXX? movzx eax, byte ptr [1]
mov eax, 3:5
diff --git a/gas/testsuite/gas/i386/x86-64-disp-intel.d b/gas/testsuite/gas/i386/x86-64-disp-intel.d
index 8f95255..03ab1cb 100644
--- a/gas/testsuite/gas/i386/x86-64-disp-intel.d
+++ b/gas/testsuite/gas/i386/x86-64-disp-intel.d
@@ -17,6 +17,7 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 8b 04 25 00 00 00 80 mov eax,DWORD PTR ds:0xffffffff80000000
[ ]*[a-f0-9]+: 8b 04 25 ff ff ff 7f mov eax,DWORD PTR ds:0x7fffffff
[ ]*[a-f0-9]+: a1 00 00 00 80 00 00 00 00 mov eax,ds:0x80000000
+[ ]*[a-f0-9]+: b8 f0 00 e0 0e mov eax,0xee000f0
[ ]*[a-f0-9]+: 89 98 f0 00 e0 0e mov DWORD PTR \[rax\+0xee000f0\],ebx
[ ]*[a-f0-9]+: 89 98 f0 00 e0 0e mov DWORD PTR \[rax\+0xee000f0\],ebx
[ ]*[a-f0-9]+: 65 89 98 f0 00 e0 0e mov DWORD PTR gs:\[rax\+0xee000f0\],ebx
diff --git a/gas/testsuite/gas/i386/x86-64-disp.d b/gas/testsuite/gas/i386/x86-64-disp.d
index b7d63d3..19e720e 100644
--- a/gas/testsuite/gas/i386/x86-64-disp.d
+++ b/gas/testsuite/gas/i386/x86-64-disp.d
@@ -16,6 +16,7 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 8b 04 25 00 00 00 80 mov 0xffffffff80000000,%eax
[ ]*[a-f0-9]+: 8b 04 25 ff ff ff 7f mov 0x7fffffff,%eax
[ ]*[a-f0-9]+: a1 00 00 00 80 00 00 00 00 mov 0x80000000,%eax
+[ ]*[a-f0-9]+: b8 f0 00 e0 0e mov \$0xee000f0,%eax
[ ]*[a-f0-9]+: 89 98 f0 00 e0 0e mov %ebx,0xee000f0\(%rax\)
[ ]*[a-f0-9]+: 89 98 f0 00 e0 0e mov %ebx,0xee000f0\(%rax\)
[ ]*[a-f0-9]+: 65 89 98 f0 00 e0 0e mov %ebx,%gs:0xee000f0\(%rax\)
diff --git a/gas/testsuite/gas/i386/x86-64-disp.s b/gas/testsuite/gas/i386/x86-64-disp.s
index b3f1028..2869162 100644
--- a/gas/testsuite/gas/i386/x86-64-disp.s
+++ b/gas/testsuite/gas/i386/x86-64-disp.s
@@ -10,6 +10,8 @@
mov 0x80000000,%eax
.intel_syntax noprefix
+ mov eax, offset 0xEE000F0
+
mov DWORD PTR [rax+0xEE000F0], ebx
mov [rax+0xEE000F0], ebx
mov DWORD PTR gs:[rax+0xEE000F0], ebx