diff options
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/elf32-mips.c | 24 |
2 files changed, 18 insertions, 12 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 9d32764..d637d48 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2001-10-05 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * elf32-mips.c (elf_mips_howto_table): Fix some relocation howtos + according to the MIPS/SGI ELF64 ABI Draft. + (mips_elf_sort_hash_table): Typo. + 2001-10-04 Alan Modra <amodra@bigpond.net.au> * elf32-mips.c (_bfd_mips_elf_copy_indirect_symbol): Comment typo. diff --git a/bfd/elf32-mips.c b/bfd/elf32-mips.c index 7c6c8e5..09f7758 100644 --- a/bfd/elf32-mips.c +++ b/bfd/elf32-mips.c @@ -529,7 +529,7 @@ static reloc_howto_type elf_mips_howto_table[] = 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ - complain_overflow_bitfield, /* complain_on_overflow */ + complain_overflow_dont, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_MIPS_32", /* name */ true, /* partial_inplace */ @@ -544,7 +544,7 @@ static reloc_howto_type elf_mips_howto_table[] = 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ - complain_overflow_bitfield, /* complain_on_overflow */ + complain_overflow_dont, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_MIPS_REL32", /* name */ true, /* partial_inplace */ @@ -682,7 +682,7 @@ static reloc_howto_type elf_mips_howto_table[] = 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ - complain_overflow_bitfield, /* complain_on_overflow */ + complain_overflow_dont, /* complain_on_overflow */ _bfd_mips_elf_gprel32_reloc, /* special_function */ "R_MIPS_GPREL32", /* name */ true, /* partial_inplace */ @@ -735,7 +735,7 @@ static reloc_howto_type elf_mips_howto_table[] = 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ - complain_overflow_bitfield, /* complain_on_overflow */ + complain_overflow_dont, /* complain_on_overflow */ mips32_64bit_reloc, /* special_function */ "R_MIPS_64", /* name */ true, /* partial_inplace */ @@ -750,7 +750,7 @@ static reloc_howto_type elf_mips_howto_table[] = 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ - complain_overflow_bitfield, /* complain_on_overflow */ + complain_overflow_signed, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_MIPS_GOT_DISP", /* name */ true, /* partial_inplace */ @@ -765,7 +765,7 @@ static reloc_howto_type elf_mips_howto_table[] = 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ - complain_overflow_bitfield, /* complain_on_overflow */ + complain_overflow_signed, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_MIPS_GOT_PAGE", /* name */ true, /* partial_inplace */ @@ -780,7 +780,7 @@ static reloc_howto_type elf_mips_howto_table[] = 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ - complain_overflow_bitfield, /* complain_on_overflow */ + complain_overflow_signed, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_MIPS_GOT_OFST", /* name */ true, /* partial_inplace */ @@ -825,7 +825,7 @@ static reloc_howto_type elf_mips_howto_table[] = 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ - complain_overflow_bitfield, /* complain_on_overflow */ + complain_overflow_dont, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_MIPS_SUB", /* name */ true, /* partial_inplace */ @@ -849,7 +849,7 @@ static reloc_howto_type elf_mips_howto_table[] = bfd_elf_generic_reloc, /* special_function */ "R_MIPS_HIGHER", /* name */ true, /* partial_inplace */ - 0, /* src_mask */ + 0xffff, /* src_mask */ 0xffff, /* dst_mask */ false), /* pcrel_offset */ @@ -864,7 +864,7 @@ static reloc_howto_type elf_mips_howto_table[] = bfd_elf_generic_reloc, /* special_function */ "R_MIPS_HIGHEST", /* name */ true, /* partial_inplace */ - 0, /* src_mask */ + 0xffff, /* src_mask */ 0xffff, /* dst_mask */ false), /* pcrel_offset */ @@ -908,7 +908,7 @@ static reloc_howto_type elf_mips_howto_table[] = complain_overflow_dont, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_MIPS_SCN_DISP", /* name */ - false, /* partial_inplace */ + true, /* partial_inplace */ 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ false), /* pcrel_offset */ @@ -5585,7 +5585,7 @@ mips_elf_sort_hash_table (info, max_local) mips_elf_sort_hash_table_f, &hsd); - /* There shoud have been enough room in the symbol table to + /* There should have been enough room in the symbol table to accomodate both the GOT and non-GOT symbols. */ BFD_ASSERT (hsd.max_non_got_dynindx <= hsd.min_got_dynindx); |