* elf64-alpha.c (elf64_alpha_relax_section): Don't store computed gp.

This commit is contained in:
Richard Henderson 2002-06-01 21:56:41 +00:00
parent d7e41a96e6
commit b646261c73
2 changed files with 7 additions and 9 deletions

View File

@ -1,5 +1,7 @@
2002-06-01 Richard Henderson <rth@redhat.com>
* elf64-alpha.c (elf64_alpha_relax_section): Don't store computed gp.
* elf64-alpha.c (elf64_alpha_check_relocs): Fix typo on maybe_dynamic
check; don't suppress dynamic relocs for non-allocated sections.

View File

@ -1656,19 +1656,15 @@ elf64_alpha_relax_section (abfd, sec, link_info, again)
info.relocs = internal_relocs;
info.relend = irelend = internal_relocs + sec->reloc_count;
/* Find the GP for this object. */
/* Find the GP for this object. Do not store the result back via
_bfd_set_gp_value, since this could change again before final. */
info.gotobj = alpha_elf_tdata (abfd)->gotobj;
if (info.gotobj)
{
asection *sgot = alpha_elf_tdata (info.gotobj)->got;
info.gp = _bfd_get_gp_value (info.gotobj);
if (info.gp == 0)
{
info.gp = (sgot->output_section->vma
+ sgot->output_offset
+ 0x8000);
_bfd_set_gp_value (info.gotobj, info.gp);
}
info.gp = (sgot->output_section->vma
+ sgot->output_offset
+ 0x8000);
}
for (irel = internal_relocs; irel < irelend; irel++)