* elf32-mips.c (elf_mips_howto_table): Fix some relocation howtos
authorThiemo Seufer <ths@networkno.de>
Fri, 5 Oct 2001 16:14:39 +0000 (16:14 +0000)
committerThiemo Seufer <ths@networkno.de>
Fri, 5 Oct 2001 16:14:39 +0000 (16:14 +0000)
according to the MIPS/SGI ELF64 ABI Draft.
(mips_elf_sort_hash_table): Typo.

bfd/ChangeLog
bfd/elf32-mips.c

index 9d327644aad252fb30b1214ae4745f6fe8af41da..d637d48bf4c4430f67455c3d33d9bbe71ec87901 100644 (file)
@@ -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.
index 7c6c8e5beaa12612b3ba794f696994657abf3f23..09f77580a322e33740732ad06986a10f24f36320 100644 (file)
@@ -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);