summaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2000-09-14 01:47:38 +0000
committerNick Clifton <nickc@redhat.com>2000-09-14 01:47:38 +0000
commit522c104836414c229b86aca128b0b4b7869aae19 (patch)
treeb6e891695a9e947baed885997a8911b9c02ccdff /bfd
parentc38e5cfa6db948375a67419b83a9cd9b9db16ec7 (diff)
downloadbinutils-redhat-522c104836414c229b86aca128b0b4b7869aae19.tar.gz
Add support for the MIPS32
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog8
-rw-r--r--bfd/archures.c1
-rw-r--r--bfd/bfd-in2.h1
-rw-r--r--bfd/cpu-mips.c4
-rw-r--r--bfd/elf32-mips.c7
5 files changed, 19 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 0a987a7384..69d43f8b2a 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,11 @@
+2000-09-13 Anders Norlander <anorland@acc.umu.se>
+
+ * cpu-mips.c (arch_info_struct): Add mips:4K
+ * bfd-in2.h (bfd_mach_mips4K): New define.
+ * archures.c: Add bfd_mach_mips4K to comment.
+ * elf32-mips.c (_bfd_mips_elf_final_write_processing): Return
+ E_MIPS_ARCH_2 for bfd_mach_mips4K.
+
Wed Sep 13 19:31:39 2000 Marco Franzen <marcof@thyron.com>
* som.c (som_write_symbol_strings): Do not used fixed buffers,
diff --git a/bfd/archures.c b/bfd/archures.c
index 3b68c320f4..70fa0868b2 100644
--- a/bfd/archures.c
+++ b/bfd/archures.c
@@ -127,6 +127,7 @@ DESCRIPTION
.#define bfd_mach_mips6000 6000
.#define bfd_mach_mips8000 8000
.#define bfd_mach_mips10000 10000
+.#define bfd_mach_mips4K 32
.#define bfd_mach_mips16 16
. bfd_arch_i386, {* Intel 386 *}
.#define bfd_mach_i386_i386 0
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index ca6e36b2ee..fe3459f077 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -1394,6 +1394,7 @@ enum bfd_architecture
#define bfd_mach_mips8000 8000
#define bfd_mach_mips10000 10000
#define bfd_mach_mips16 16
+#define bfd_mach_mips4K 32
bfd_arch_i386, /* Intel 386 */
#define bfd_mach_i386_i386 0
#define bfd_mach_i386_i8086 1
diff --git a/bfd/cpu-mips.c b/bfd/cpu-mips.c
index c52fbecf54..8090b7c54e 100644
--- a/bfd/cpu-mips.c
+++ b/bfd/cpu-mips.c
@@ -53,6 +53,7 @@ I_mips5000,
I_mips6000,
I_mips8000,
I_mips10000,
+I_mips4K,
I_mips16
};
@@ -75,8 +76,7 @@ static const bfd_arch_info_type arch_info_struct[] =
N (32, 32, bfd_mach_mips6000, "mips:6000", false, NN(I_mips6000)),
N (64, 64, bfd_mach_mips8000, "mips:8000", false, NN(I_mips8000)),
N (64, 64, bfd_mach_mips10000, "mips:10000", false, NN(I_mips10000)),
-
-
+ N (32, 32, bfd_mach_mips4K, "mips:4K", false, NN(I_mips4K)),
N (64, 64, bfd_mach_mips16, "mips:16", false, 0),
};
diff --git a/bfd/elf32-mips.c b/bfd/elf32-mips.c
index 5ab839e06c..fd8847a8e2 100644
--- a/bfd/elf32-mips.c
+++ b/bfd/elf32-mips.c
@@ -1848,6 +1848,9 @@ elf_mips_mach (flags)
case E_MIPS_MACH_4650:
return bfd_mach_mips4650;
+ case E_MIPS_MACH_MIPS32:
+ return bfd_mach_mips4K;
+
default:
switch (flags & EF_MIPS_ARCH)
{
@@ -2347,6 +2350,10 @@ _bfd_mips_elf_final_write_processing (abfd, linker)
case bfd_mach_mips8000:
val = E_MIPS_ARCH_4;
break;
+
+ case bfd_mach_mips4K:
+ val = E_MIPS_ARCH_2 | E_MIPS_MACH_MIPS32;
+ break;
}
elf_elfheader (abfd)->e_flags &= ~ (EF_MIPS_ARCH | EF_MIPS_MACH);