diff options
author | Joern Rennecke <joern.rennecke@embecosm.com> | 2004-03-03 18:01:49 +0000 |
---|---|---|
committer | Joern Rennecke <joern.rennecke@embecosm.com> | 2004-03-03 18:01:49 +0000 |
commit | ae51a426eb85feced6c79756b17f369073e9fc3b (patch) | |
tree | 13005024db55500b5d1508b7635b93847866c8e2 /bfd | |
parent | 9545c4ce8548ba44d2401ce85aafb8c51b03c667 (diff) | |
download | gdb-ae51a426eb85feced6c79756b17f369073e9fc3b.zip gdb-ae51a426eb85feced6c79756b17f369073e9fc3b.tar.gz gdb-ae51a426eb85feced6c79756b17f369073e9fc3b.tar.bz2 |
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/ChangeLog | 7 | ||||
-rw-r--r-- | bfd/archures.c | 3 | ||||
-rw-r--r-- | bfd/bfd-in2.h | 1 | ||||
-rw-r--r-- | bfd/cpu-sh.c | 19 | ||||
-rw-r--r-- | bfd/elf32-sh.c | 5 |
5 files changed, 31 insertions, 4 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index ecbeaba..83c4f41 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 1f31b5d..0e2a08b 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 a56a5ee..5963bb4 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 2f33240..be359df 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 c8a091d..5ab56bc 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; } |