aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1992-08-24 19:48:54 +0000
committerIan Lance Taylor <ian@airs.com>1992-08-24 19:48:54 +0000
commit148eb5dd617bf7c2c282b522bfcf61afb036ed59 (patch)
tree3995aa021a3dcf633dc87949aeffeb6bd150bfe0
parent7121231fbf5a0cb60b9cd204671960a4dcda921b (diff)
downloadgdb-148eb5dd617bf7c2c282b522bfcf61afb036ed59.zip
gdb-148eb5dd617bf7c2c282b522bfcf61afb036ed59.tar.gz
gdb-148eb5dd617bf7c2c282b522bfcf61afb036ed59.tar.bz2
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.
-rw-r--r--gas/config/ChangeLog7
-rw-r--r--gas/config/tc-m68k.c44
2 files changed, 43 insertions, 8 deletions
diff --git a/gas/config/ChangeLog b/gas/config/ChangeLog
index 15b26a7..f599222 100644
--- a/gas/config/ChangeLog
+++ b/gas/config/ChangeLog
@@ -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
diff --git a/gas/config/tc-m68k.c b/gas/config/tc-m68k.c
index c3d1b19..052e4d8 100644
--- a/gas/config/tc-m68k.c
+++ b/gas/config/tc-m68k.c
@@ -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);