(mips_elf64_final_gp): Don't make up gp value.
* elfn32-mips.c (mips_elf_final_gp): Likewise.
* elfxx-mips.c (_bfd_mips_elf_final_link): Always create
.MIPS.options/.options section.
+2002-09-17 Stan Cox <scox@redhat.com>
+
+ * elf64-mips.c (mips_elf64_be_swap_reloca_out): Handle type2 and type3.
+ (mips_elf64_final_gp): Don't make up gp value.
+ * elfn32-mips.c (mips_elf_final_gp): Likewise.
+ * elfxx-mips.c (_bfd_mips_elf_final_link): Always create
+ .MIPS.options/.options section.
+
2002-09-17 David O'Brien <obrien@FreeBSD.org>
* elf32-i386-fbsd.c: Always label using the EI_OSABI method.
mirel.r_offset = src[0].r_offset;
BFD_ASSERT(src[0].r_offset == src[1].r_offset);
+#if 0
BFD_ASSERT(src[0].r_offset == src[2].r_offset);
+#endif
mirel.r_type = ELF64_MIPS_R_TYPE (src[0].r_info);
mirel.r_sym = ELF64_R_SYM (src[0].r_info);
- mirel.r_type2 = ELF64_MIPS_R_TYPE2 (src[1].r_info);
+ mirel.r_type2 = ELF64_MIPS_R_TYPE (src[1].r_info);
mirel.r_ssym = ELF64_MIPS_R_SSYM (src[1].r_info);
- mirel.r_type3 = ELF64_MIPS_R_TYPE3 (src[2].r_info);
+ mirel.r_type3 = ELF64_MIPS_R_TYPE (src[2].r_info);
mips_elf64_swap_reloc_out (abfd, &mirel,
(Elf64_Mips_External_Rel *) dst);
if (relocateable)
{
/* Make up a value. */
- *pgp = symbol->section->output_section->vma + 0x4000;
+ *pgp = symbol->section->output_section->vma /*+ 0x4000*/;
_bfd_set_gp_value (output_bfd, *pgp);
}
else if (!mips_elf64_assign_gp (output_bfd, pgp))
if (relocateable)
{
/* Make up a value. */
- *pgp = symbol->section->output_section->vma + 0x4000;
+ *pgp = symbol->section->output_section->vma /*+ 0x4000*/;
_bfd_set_gp_value (output_bfd, *pgp);
}
else if (!mips_elf_assign_gp (output_bfd, pgp))
<= g->global_gotno);
}
+#if 0
+ /* We want to set the GP value for ld -r. */
/* On IRIX5, we omit the .options section. On IRIX6, however, we
include it, even though we don't process it quite right. (Some
entries are supposed to be merged.) Empirically, we seem to be
break;
}
}
+#endif
/* Get a value for the GP register. */
if (elf_gp (abfd) == 0)