X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2Fmipsbsd.c;h=b8621e486ae14ca3a29a269432757c6272d03d08;hb=48d502e18e90fd25600d9d7f8191b09218e22603;hp=85cf0ef21e9a1a992e8c757ade78978f5425e6cf;hpb=2ee563b53258d390d7446e90a67f465d504ae44c;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/mipsbsd.c b/bfd/mipsbsd.c index 85cf0ef21e..b8621e486a 100644 --- a/bfd/mipsbsd.c +++ b/bfd/mipsbsd.c @@ -1,5 +1,5 @@ /* BFD backend for MIPS BSD (a.out) binaries. - Copyright 1993, 1994, 1995, 1997, 1998, 1999, 2000, 2001 + Copyright 1993, 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. Written by Ralph Campbell. @@ -17,9 +17,8 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ -#define BYTES_IN_WORD 4 /* #define ENTRY_CAN_BE_ZERO */ #define N_HEADER_IN_TEXT(x) 1 #define N_SHARED_LIB(x) 0 @@ -53,7 +52,7 @@ static void MY(set_arch_mach) PARAMS ((bfd *abfd, unsigned long machtype)); static void MY(choose_reloc_size) PARAMS ((bfd *abfd)); #define MY_write_object_contents MY(write_object_contents) -static boolean MY(write_object_contents) PARAMS ((bfd *abfd)); +static bfd_boolean MY(write_object_contents) PARAMS ((bfd *abfd)); /* We can't use MY(x) here because it leads to a recursive call to CONCAT2 when expanded inside JUMP_TABLE. */ @@ -71,7 +70,7 @@ static boolean MY(write_object_contents) PARAMS ((bfd *abfd)); #include "aout-target.h" static bfd_reloc_status_type mips_fix_jmp_addr - PARAMS ((bfd *, arelent *, struct symbol_cache_entry *, PTR, asection *, + PARAMS ((bfd *, arelent *, struct bfd_symbol *, PTR, asection *, bfd *, char **)); static reloc_howto_type *MY(reloc_howto_type_lookup) PARAMS ((bfd *, bfd_reloc_code_real_type)); @@ -91,12 +90,12 @@ MY(set_arch_mach) (abfd, machtype) { case M_MIPS1: arch = bfd_arch_mips; - machine = 3000; + machine = bfd_mach_mips3000; break; case M_MIPS2: arch = bfd_arch_mips; - machine = 4000; + machine = bfd_mach_mips4000; break; default: @@ -116,7 +115,6 @@ MY (choose_reloc_size) (abfd) switch (bfd_get_arch (abfd)) { case bfd_arch_sparc: - case bfd_arch_a29k: case bfd_arch_mips: obj_reloc_entry_size (abfd) = RELOC_EXT_SIZE; break; @@ -130,7 +128,7 @@ MY (choose_reloc_size) (abfd) Section contents have already been written. We write the file header, symbols, and relocation. */ -static boolean +static bfd_boolean MY (write_object_contents) (abfd) bfd *abfd; { @@ -158,14 +156,11 @@ MY (write_object_contents) (abfd) case bfd_arch_i386: N_SET_MACHTYPE (*execp, M_386); break; - case bfd_arch_a29k: - N_SET_MACHTYPE (*execp, M_29K); - break; case bfd_arch_mips: switch (bfd_get_mach (abfd)) { - case 4000: - case 6000: + case bfd_mach_mips4000: + case bfd_mach_mips6000: N_SET_MACHTYPE (*execp, M_MIPS2); break; default: @@ -181,7 +176,7 @@ MY (write_object_contents) (abfd) WRITE_HEADERS (abfd, execp); - return true; + return TRUE; } /* MIPS relocation types. */ @@ -204,7 +199,7 @@ mips_fix_jmp_addr (abfd, reloc_entry, symbol, data, input_section, output_bfd, error_message) bfd *abfd ATTRIBUTE_UNUSED; arelent *reloc_entry; - struct symbol_cache_entry *symbol; + struct bfd_symbol *symbol; PTR data ATTRIBUTE_UNUSED; asection *input_section; bfd *output_bfd; @@ -221,7 +216,7 @@ mips_fix_jmp_addr (abfd, reloc_entry, symbol, data, input_section, output_bfd, && (symbol->flags & BSF_WEAK) == 0) return bfd_reloc_undefined; - /* Work out which section the relocation is targetted at and the + /* Work out which section the relocation is targeted at and the initial relocation command value. */ if (bfd_is_com_section (symbol->section)) relocation = 0; @@ -272,7 +267,7 @@ mips_fix_hi16_s (abfd, reloc_entry, symbol, data, input_section, && (symbol->flags & BSF_WEAK) == 0) return bfd_reloc_undefined; - /* Work out which section the relocation is targetted at and the + /* Work out which section the relocation is targeted at and the initial relocation command value. */ if (bfd_is_com_section (symbol->section)) relocation = 0; @@ -290,20 +285,20 @@ mips_fix_hi16_s (abfd, reloc_entry, symbol, data, input_section, } static reloc_howto_type mips_howto_table_ext[] = { - {MIPS_RELOC_32, 0, 2, 32, false, 0, complain_overflow_bitfield, 0, - "32", false, 0, 0xffffffff, false}, - {MIPS_RELOC_JMP, 2, 2, 26, false, 0, complain_overflow_dont, + {MIPS_RELOC_32, 0, 2, 32, FALSE, 0, complain_overflow_bitfield, 0, + "32", FALSE, 0, 0xffffffff, FALSE}, + {MIPS_RELOC_JMP, 2, 2, 26, FALSE, 0, complain_overflow_dont, mips_fix_jmp_addr, - "MIPS_JMP", false, 0, 0x03ffffff, false}, - {MIPS_RELOC_WDISP16, 2, 2, 16, true, 0, complain_overflow_signed, 0, - "WDISP16", false, 0, 0x0000ffff, false}, - {MIPS_RELOC_HI16, 16, 2, 16, false, 0, complain_overflow_bitfield, 0, - "HI16", false, 0, 0x0000ffff, false}, - {MIPS_RELOC_HI16_S, 16, 2, 16, false, 0, complain_overflow_bitfield, + "MIPS_JMP", FALSE, 0, 0x03ffffff, FALSE}, + {MIPS_RELOC_WDISP16, 2, 2, 16, TRUE, 0, complain_overflow_signed, 0, + "WDISP16", FALSE, 0, 0x0000ffff, FALSE}, + {MIPS_RELOC_HI16, 16, 2, 16, FALSE, 0, complain_overflow_bitfield, 0, + "HI16", FALSE, 0, 0x0000ffff, FALSE}, + {MIPS_RELOC_HI16_S, 16, 2, 16, FALSE, 0, complain_overflow_bitfield, mips_fix_hi16_s, - "HI16_S", false, 0, 0x0000ffff, false}, - {MIPS_RELOC_LO16, 0, 2, 16, false, 0, complain_overflow_dont, 0, - "LO16", false, 0, 0x0000ffff, false}, + "HI16_S", FALSE, 0, 0x0000ffff, FALSE}, + {MIPS_RELOC_LO16, 0, 2, 16, FALSE, 0, complain_overflow_dont, 0, + "LO16", FALSE, 0, 0x0000ffff, FALSE}, }; static reloc_howto_type *