summaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorJoern Rennecke <joern.rennecke@arc.com>2004-03-03 18:01:49 +0000
committerJoern Rennecke <joern.rennecke@arc.com>2004-03-03 18:01:49 +0000
commit9046e9f718f8d5cbeec52536bdff104fd1dec420 (patch)
treec9e8044e249184542e2fcd12df2f8f4b7b384196 /bfd
parent183baab6acbc5805afd2b0c0fccae66ee03ee15f (diff)
downloadgdb-9046e9f718f8d5cbeec52536bdff104fd1dec420.tar.gz
2003-03-03 Andrew Stubbs <andrew.stubbs@superh.com>
opcodes: * sh-dis.c (print_insn_sh): Don't disassemble fp instructions in nofpu mode. Add BFD type bfd_mach_sh4_nommu_nofpu. * sh-opc.h: Add sh4_nommu_nofpu architecture and adjust instructions accordingly. bfd: * archures.c: Add bfd_mach_sh4_nommu_nofpu. * cpu-sh.c: Ditto. * elf32-sh.c: Ditto. * bfd-in2.h: Regenerate. include/elf: * sh.h: Add EF_SH4_NOMMU_NOFPU. gas: * config/tc-sh.c (md_parse_option): Add -isa=sh4-nofpu and -isa=sh4-nommu-nofpu options. Adjust help messages accordingly. (sh_elf_final_processing): Output BFD type sh4_nofpu if that is the most general type or the user specifically requested it. (md_assemble): Add a new error message for when an instruction is understood, but is not allowed due to an -isa option.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog7
-rw-r--r--bfd/archures.c3
-rw-r--r--bfd/bfd-in2.h1
-rw-r--r--bfd/cpu-sh.c19
-rw-r--r--bfd/elf32-sh.c5
5 files changed, 31 insertions, 4 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index ecbeaba7c7b..83c4f4135d6 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,10 @@
+2003-03-03 Andrew Stubbs <andrew.stubbs@superh.com>
+
+ * archures.c: Add bfd_mach_sh4_nommu_nofpu.
+ * cpu-sh.c: Ditto.
+ * elf32-sh.c: Ditto.
+ * bfd-in2.h: Regenerate.
+
2004-03-02 Alexandre Oliva <aoliva@redhat.com>
* elf32-frv.c (struct frv_pic_relocs_info): Added fixups and
diff --git a/bfd/archures.c b/bfd/archures.c
index 1f31b5d4fe5..0e2a08b831f 100644
--- a/bfd/archures.c
+++ b/bfd/archures.c
@@ -1,6 +1,6 @@
/* BFD library support routines for architectures.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003
+ 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Hacked by John Gilmore and Steve Chamberlain of Cygnus Support.
@@ -230,6 +230,7 @@ DESCRIPTION
.#define bfd_mach_sh3e 0x3e
.#define bfd_mach_sh4 0x40
.#define bfd_mach_sh4_nofpu 0x41
+.#define bfd_mach_sh4_nommu_nofpu 0x42
.#define bfd_mach_sh4a 0x4a
.#define bfd_mach_sh4a_nofpu 0x4b
.#define bfd_mach_sh4al_dsp 0x4d
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index a56a5eee80e..5963bb4e35c 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -1662,6 +1662,7 @@ enum bfd_architecture
#define bfd_mach_sh3e 0x3e
#define bfd_mach_sh4 0x40
#define bfd_mach_sh4_nofpu 0x41
+#define bfd_mach_sh4_nommu_nofpu 0x42
#define bfd_mach_sh4a 0x4a
#define bfd_mach_sh4a_nofpu 0x4b
#define bfd_mach_sh4al_dsp 0x4d
diff --git a/bfd/cpu-sh.c b/bfd/cpu-sh.c
index 2f33240bb07..be359df7090 100644
--- a/bfd/cpu-sh.c
+++ b/bfd/cpu-sh.c
@@ -1,5 +1,5 @@
/* BFD library support routines for the Renesas / SuperH SH architecture.
- Copyright 1993, 1994, 1997, 1998, 2000, 2001, 2002, 2003
+ Copyright 1993, 1994, 1997, 1998, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Hacked by Steve Chamberlain of Cygnus Support.
@@ -34,7 +34,8 @@
#define SH4A_NEXT &arch_info_struct[8]
#define SH4AL_DSP_NEXT &arch_info_struct[9]
#define SH4_NOFPU_NEXT &arch_info_struct[10]
-#define SH4A_NOFPU_NEXT &arch_info_struct[11]
+#define SH4_NOMMU_NOFPU_NEXT &arch_info_struct[11]
+#define SH4A_NOFPU_NEXT &arch_info_struct[12]
#define SH64_NEXT NULL
static const bfd_arch_info_type arch_info_struct[] =
@@ -184,6 +185,20 @@ static const bfd_arch_info_type arch_info_struct[] =
32, /* 32 bits in an address */
8, /* 8 bits in a byte */
bfd_arch_sh,
+ bfd_mach_sh4_nommu_nofpu,
+ "sh", /* arch_name */
+ "sh4-nommu-nofpu", /* printable name */
+ 1,
+ FALSE, /* not the default */
+ bfd_default_compatible,
+ bfd_default_scan,
+ SH4_NOMMU_NOFPU_NEXT
+ },
+ {
+ 32, /* 32 bits in a word */
+ 32, /* 32 bits in an address */
+ 8, /* 8 bits in a byte */
+ bfd_arch_sh,
bfd_mach_sh4a_nofpu,
"sh", /* arch_name */
"sh4a-nofpu", /* printable name */
diff --git a/bfd/elf32-sh.c b/bfd/elf32-sh.c
index c8a091d53ce..5ab56bcc141 100644
--- a/bfd/elf32-sh.c
+++ b/bfd/elf32-sh.c
@@ -1,5 +1,5 @@
/* Renesas / SuperH SH specific support for 32-bit ELF
- Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+ Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Contributed by Ian Lance Taylor, Cygnus Support.
@@ -6876,6 +6876,9 @@ sh_elf_set_mach_from_flags (bfd *abfd)
case EF_SH4AL_DSP:
bfd_default_set_arch_mach (abfd, bfd_arch_sh, bfd_mach_sh4al_dsp);
break;
+ case EF_SH4_NOMMU_NOFPU:
+ bfd_default_set_arch_mach (abfd, bfd_arch_sh, bfd_mach_sh4_nommu_nofpu);
+ break;
default:
return FALSE;
}