* elf32-mips.c (elf_mips_dvp_11_pcrel_howto): Set pcrel_offset=true.
authorDoug Evans <dje@google.com>
Sat, 31 Jan 1998 00:11:34 +0000 (00:11 +0000)
committerDoug Evans <dje@google.com>
Sat, 31 Jan 1998 00:11:34 +0000 (00:11 +0000)
(mips_elf_relocate_section): Recognize R_MIPS_DVP_11_PCREL.

bfd/ChangeLog
bfd/elf32-mips.c

index b390118..f007d3d 100644 (file)
@@ -1,3 +1,10 @@
+start-sanitize-sky
+Fri Jan 30 17:48:17 1998  Doug Evans  <devans@canuck.cygnus.com>
+
+       * elf32-mips.c (elf_mips_dvp_11_pcrel_howto): Set pcrel_offset=true.
+       (mips_elf_relocate_section): Recognize R_MIPS_DVP_11_PCREL.
+
+end-sanitize-sky
 Fri Jan 30 19:07:07 1998  Geoff Keating  <geoffk@ozemail.com.au>
 
        * elf32-ppc.c (ppc_elf_create_dynamic_sections): New procedure
index 5acc462..eba42c0 100644 (file)
@@ -772,7 +772,7 @@ static  reloc_howto_type elf_mips_dvp_11_pcrel_howto =
         true,                  /* partial_inplace */
         0x7ff,                 /* src_mask */
         0x7ff,                 /* dst_mask */
-        false);                /* pcrel_offset */
+        true);                 /* pcrel_offset */
 /* end-sanitize-sky */
 
 /* Do a R_MIPS_HI16 relocation.  This has to be done in combination
@@ -4629,6 +4629,9 @@ mips_elf_relocate_section (output_bfd, info, input_bfd, input_section,
 
       r_type = ELF32_R_TYPE (rel->r_info);
       if ((r_type < 0 || r_type >= (int) R_MIPS_max)
+/* start-sanitize-sky */
+         && r_type != R_MIPS_DVP_11_PCREL
+/* end-sanitize-sky */
          && r_type != R_MIPS16_26
          && r_type != R_MIPS16_GPREL)
        {
@@ -4639,6 +4642,10 @@ mips_elf_relocate_section (output_bfd, info, input_bfd, input_section,
        howto = &elf_mips16_jump_howto;
       else if (r_type == R_MIPS16_GPREL)
        howto = &elf_mips16_gprel_howto;
+/* start-sanitize-sky */
+      else if (r_type == R_MIPS_DVP_11_PCREL)
+       howto = &elf_mips_dvp_11_pcrel_howto;
+/* end-sanitize-sky */
       else
        howto = elf_mips_howto_table + r_type;