This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Support MIPS 9000 in BFD
- From: Ian Lance Taylor <ian at wasabisystems dot com>
- To: binutils at sourceware dot org
- Date: 9 Dec 2004 01:08:21 -0500
- Subject: Support MIPS 9000 in BFD
Here is the BFD patch to support the RM9000 as a MIPS variant. I am
about to commit this.
Ian
2004-12-09 Ian Lance Taylor <ian@wasabisystems.com>
* archures.c: Define bfd_mach_mips9000.
* elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_9000.
(mips_set_isa_flags): Handle bfd_mach_mips9000.
* cpu-mips.c (I_mips9000): Define.
(arch_info_struct): Add case for bfd_mach_mips9000.
* aoutx.h (NAME(aout,machine_type)): Handle bfd_mach_mips9000.
* bfd-in2.h: Regenerate.
Index: aoutx.h
===================================================================
RCS file: /cvs/src/src/bfd/aoutx.h,v
retrieving revision 1.48
diff -u -r1.48 aoutx.h
--- aoutx.h 21 Oct 2004 15:28:15 -0000 1.48
+++ aoutx.h 9 Dec 2004 06:03:50 -0000
@@ -793,6 +793,7 @@
case bfd_mach_mips4600:
case bfd_mach_mips4650:
case bfd_mach_mips8000:
+ case bfd_mach_mips9000:
case bfd_mach_mips10000:
case bfd_mach_mips12000:
case bfd_mach_mips16:
Index: archures.c
===================================================================
RCS file: /cvs/src/src/bfd/archures.c,v
retrieving revision 1.99
diff -u -r1.99 archures.c
--- archures.c 8 Nov 2004 13:17:32 -0000 1.99
+++ archures.c 9 Dec 2004 06:03:50 -0000
@@ -149,6 +149,7 @@
.#define bfd_mach_mips6000 6000
.#define bfd_mach_mips7000 7000
.#define bfd_mach_mips8000 8000
+.#define bfd_mach_mips9000 9000
.#define bfd_mach_mips10000 10000
.#define bfd_mach_mips12000 12000
.#define bfd_mach_mips16 16
Index: cpu-mips.c
===================================================================
RCS file: /cvs/src/src/bfd/cpu-mips.c,v
retrieving revision 1.21
diff -u -r1.21 cpu-mips.c
--- cpu-mips.c 8 Dec 2003 20:04:34 -0000 1.21
+++ cpu-mips.c 9 Dec 2004 06:03:50 -0000
@@ -76,6 +76,7 @@
I_mips6000,
I_mips7000,
I_mips8000,
+ I_mips9000,
I_mips10000,
I_mips12000,
I_mips16,
@@ -108,6 +109,7 @@
N (32, 32, bfd_mach_mips6000, "mips:6000", FALSE, NN(I_mips6000)),
N (64, 64, bfd_mach_mips7000, "mips:7000", FALSE, NN(I_mips7000)),
N (64, 64, bfd_mach_mips8000, "mips:8000", FALSE, NN(I_mips8000)),
+ N (64, 64, bfd_mach_mips9000, "mips:9000", FALSE, NN(I_mips9000)),
N (64, 64, bfd_mach_mips10000,"mips:10000", FALSE, NN(I_mips10000)),
N (64, 64, bfd_mach_mips12000,"mips:12000", FALSE, NN(I_mips12000)),
N (64, 64, bfd_mach_mips16, "mips:16", FALSE, NN(I_mips16)),
Index: elfxx-mips.c
===================================================================
RCS file: /cvs/src/src/bfd/elfxx-mips.c,v
retrieving revision 1.114
diff -u -r1.114 elfxx-mips.c
--- elfxx-mips.c 8 Dec 2004 20:27:50 -0000 1.114
+++ elfxx-mips.c 9 Dec 2004 06:03:51 -0000
@@ -4023,6 +4023,9 @@
case E_MIPS_MACH_5500:
return bfd_mach_mips5500;
+ case E_MIPS_MACH_9000:
+ return bfd_mach_mips9000;
+
case E_MIPS_MACH_SB1:
return bfd_mach_mips_sb1;
@@ -7073,6 +7076,10 @@
val = E_MIPS_ARCH_4 | E_MIPS_MACH_5500;
break;
+ case bfd_mach_mips9000:
+ val = E_MIPS_ARCH_4 | E_MIPS_MACH_9000;
+ break;
+
case bfd_mach_mips5000:
case bfd_mach_mips7000:
case bfd_mach_mips8000:
@@ -8803,6 +8810,7 @@
{ bfd_mach_mips10000, bfd_mach_mips8000 },
{ bfd_mach_mips5000, bfd_mach_mips8000 },
{ bfd_mach_mips7000, bfd_mach_mips8000 },
+ { bfd_mach_mips9000, bfd_mach_mips8000 },
/* VR4100 extensions. */
{ bfd_mach_mips4120, bfd_mach_mips4100 },
Index: bfd-in2.h
===================================================================
RCS file: /cvs/src/src/bfd/bfd-in2.h,v
retrieving revision 1.308
diff -u -r1.308 bfd-in2.h
--- bfd-in2.h 30 Nov 2004 17:45:53 -0000 1.308
+++ bfd-in2.h 9 Dec 2004 06:03:52 -0000
@@ -1600,6 +1600,7 @@
#define bfd_mach_mips6000 6000
#define bfd_mach_mips7000 7000
#define bfd_mach_mips8000 8000
+#define bfd_mach_mips9000 9000
#define bfd_mach_mips10000 10000
#define bfd_mach_mips12000 12000
#define bfd_mach_mips16 16