2005-08-09 H.J. Lu <hongjiu.lu@intel.com>

* elfxx-ia64.c (elfNN_ia64_final_link): Reset gp.
This commit is contained in:
H.J. Lu 2005-08-10 04:32:49 +00:00
parent 3c26c61aa1
commit a38a2e96b0
2 changed files with 11 additions and 7 deletions

View File

@ -1,3 +1,7 @@
2005-08-09 H.J. Lu <hongjiu.lu@intel.com>
* elfxx-ia64.c (elfNN_ia64_final_link): Reset gp.
2005-08-09 Rodney Brown <rbrown@bravurasolutions.com.au>
Nick Clifton <nickc@redhat.com>

View File

@ -3981,15 +3981,15 @@ elfNN_ia64_final_link (abfd, info)
/* Make sure we've got ourselves a nice fat __gp value. */
if (!info->relocatable)
{
bfd_vma gp_val = _bfd_get_gp_value (abfd);
bfd_vma gp_val;
struct elf_link_hash_entry *gp;
if (gp_val == 0)
{
if (! elfNN_ia64_choose_gp (abfd, info))
return FALSE;
gp_val = _bfd_get_gp_value (abfd);
}
/* We assume after gp is set, section size will only decrease. We
need to adjust gp for it. */
_bfd_set_gp_value (abfd, 0);
if (! elfNN_ia64_choose_gp (abfd, info))
return FALSE;
gp_val = _bfd_get_gp_value (abfd);
gp = elf_link_hash_lookup (elf_hash_table (info), "__gp", FALSE,
FALSE, FALSE);