* tc-m68k.c (try_index): Error if index scaling specified and
authorJohn Gilmore <gnu@cygnus>
Wed, 5 Aug 1992 08:59:10 +0000 (08:59 +0000)
committerJohn Gilmore <gnu@cygnus>
Wed, 5 Aug 1992 08:59:10 +0000 (08:59 +0000)
assembling for an older CPU than a 68020.

This bug was found at Adobe because GAS did not diagnose incorrect
68020 code generated by GCC when compiling for 68010.  We had to debug it
in the target system as failing instructions.

gas/config/ChangeLog
gas/config/tc-m68k.c

index d334c74..f085b34 100644 (file)
@@ -1,8 +1,12 @@
+Wed Aug  5 01:54:34 1992  John Gilmore  (gnu at cygnus.com)
+
+       * tc-m68k.c (try_index):  Error if index scaling specified and
+       assembling for an older CPU than a 68020.
+
 Mon Jul  6 17:09:32 1992  Steve Chamberlain  (sac@cygnus.com)
 
        * obj-coffbfd.c (fill_section): mark .lit sections as STYP_LIT
 
-
 Tue Jun  9 07:50:46 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
 
        * tc-m68k.c (m68kip): Fix typo so that only arch's >=68020 do
@@ -21,7 +25,6 @@ Mon May  4 18:56:19 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
        * obj-coffbfd.c: use is a synonym for section, (do_relocs_for):
        calc the base of relocs correctly.
        * tc-a29k.c (parse_operand): allow expressions to be in any section.
-       
 
 Thu Mar 12 04:42:38 1992  K. Richard Pixley  (rich@cygnus.com)
 
index 15bdf99..7ccd003 100644 (file)
@@ -892,6 +892,11 @@ struct m68k_op *opP;
                case '2':
                case '4':
                case '8':
+                       if (cpu_of_arch(current_architecture) < m68020) {
+                               opP->error="no index scaling in pre-68020's";
+                               *s=ss;
+                               return FAIL;
+                       }
                        opP->imul= *ss-'0';
                        break;
                default: