Mon Aug 24 12:45:12 1992 Ian Lance Taylor (ian@cygnus.com)
authorIan Lance Taylor <ian@airs.com>
Mon, 24 Aug 1992 19:48:54 +0000 (19:48 +0000)
committerIan Lance Taylor <ian@airs.com>
Mon, 24 Aug 1992 19:48:54 +0000 (19:48 +0000)
* tc-m68k.c: use TARGET_CPU to choose default cpu type.

* te-generic.h: default to LOCAL_LABELS_DOLLAR and LOCAL_LABELS_FB
so that we can assemble hand-written libgcc code.

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

index 15b26a73c710d193a46fe6b25f09afa4954fc9ac..f599222f9d3d2c03ed9ad5dd53b2037d2b7cb889 100644 (file)
@@ -1,3 +1,10 @@
+Mon Aug 24 12:45:12 1992  Ian Lance Taylor  (ian@cygnus.com)
+
+       * tc-m68k.c: use TARGET_CPU to choose default cpu type.
+
+       * te-generic.h: default to LOCAL_LABELS_DOLLAR and LOCAL_LABELS_FB
+       so that we can assemble hand-written libgcc code.
+
 Wed Aug 19 11:20:59 1992  Ian Lance Taylor  (ian@cygnus.com)
 
        * tc-m68k.c, tc-m68kmote.c: the cas2 instruction is supposed to be
index c3d1b19e7b4e017866c65ecd7a9769856b833f8f..052e4d84466dd829c1a65e27896b98d4380f72a9 100644 (file)
@@ -2670,18 +2670,46 @@ md_assemble(str)
        int     shorts_this_frag;
 
 
-       if (current_architecture == 0)
-         current_architecture = (m68020
+       if (cpu_of_arch (current_architecture) == 0)
+         {
+           enum m68k_architecture cpu_type;
+
+#ifndef TARGET_CPU
+           cpu_type = m68020;
+#else
+           if (strcmp (TARGET_CPU, "m68000") == 0)
+             cpu_type = m68000;
+           else if (strcmp (TARGET_CPU, "m68010") == 0)
+             cpu_type = m68010;            
+           else if (strcmp (TARGET_CPU, "m68020") == 0
+                    || strcmp (TARGET_CPU, "m68k") == 0)
+             cpu_type = m68020;
+           else if (strcmp (TARGET_CPU, "m68030") == 0)
+             cpu_type = m68030;
+           else if (strcmp (TARGET_CPU, "m68040") == 0)
+             cpu_type = m68040;
+           else
+             cpu_type = m68020;
+#endif
+
+           /* If float or mmu were specified, just default cpu.  */
+           if (current_architecture != 0)
+             current_architecture |= cpu_type;
+           else
+             {
+               if ((cpu_type & m68020up) != 0)
+                 current_architecture = (cpu_type
 #ifndef NO_68881
-                                 | m68881
+                                         | m68881
 #endif
 #ifndef NO_68851
-                                 | m68851
+                                         | m68851
 #endif
-                                 );
-       /* If only float and mmu were specified, default cpu.  */
-       else if (cpu_of_arch (current_architecture) == 0)
-         current_architecture |= m68020;
+                                         );
+               else
+                 current_architecture = cpu_type;
+             }
+         }
 
        memset((char *)(&the_ins), '\0', sizeof(the_ins));      /* JF for paranoia sake */
        m68k_ip(str);