aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/config/tc-i386.c5
-rw-r--r--gas/testsuite/ChangeLog7
-rw-r--r--gas/testsuite/gas/i386/inval.l2
-rw-r--r--gas/testsuite/gas/i386/inval.s1
5 files changed, 21 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 60798a1..c4e9d27 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,9 @@
+2006-04-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR gas/2533
+ * config/tc-i386.c (i386_immediate): Check illegal immediate
+ register operand.
+
2006-04-18 Alan Modra <amodra@bigpond.net.au>
* config/tc-i386.c: Formatting.
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index c55ffaf..69cede7 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -4127,6 +4127,11 @@ i386_immediate (imm_start)
return 0;
}
#endif
+ else if (!intel_syntax && exp->X_op == O_register)
+ {
+ as_bad (_("illegal immediate register operand %s"), imm_start);
+ return 0;
+ }
else
{
/* This is an address. The size of the address will be
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index bbc6ee8..4ab8470 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2006-04-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR gas/2533
+ * gas/i386/inval.s: Add test for illegal immediate register
+ operand.
+ * gas/i386/inval.l: Updated.
+
2006-04-16 Nick Clifton <nickc@redhat.com>
* gas/arm/arch7.d: Skip test for non-ELF targets.
diff --git a/gas/testsuite/gas/i386/inval.l b/gas/testsuite/gas/i386/inval.l
index e789499..9f32368 100644
--- a/gas/testsuite/gas/i386/inval.l
+++ b/gas/testsuite/gas/i386/inval.l
@@ -45,6 +45,7 @@
.*:46: Error: .*
.*:47: Error: .*
.*:48: Error: .*
+.*:49: Error: .*
GAS LISTING .*
@@ -96,3 +97,4 @@ GAS LISTING .*
46 [ ]* fstb %st\(0\)
47 [ ]* fcompll 28\(%ebp\)
48 [ ]* fldlw \(%eax\)
+ 49 [ ]* movl \$%ebx,%eax
diff --git a/gas/testsuite/gas/i386/inval.s b/gas/testsuite/gas/i386/inval.s
index e37a18e..1571a2f 100644
--- a/gas/testsuite/gas/i386/inval.s
+++ b/gas/testsuite/gas/i386/inval.s
@@ -46,3 +46,4 @@ foo: jaw foo
fstb %st(0)
fcompll 28(%ebp)
fldlw (%eax)
+ movl $%ebx,%eax