2004-05-28 H.J. Lu <hongjiu.lu@intel.com>

* elfxx-ia64.c (elfNN_ia64_relax_section): Properly call
	_bfd_merged_section_offset for local symbols.
This commit is contained in:
H.J. Lu 2004-05-28 20:30:29 +00:00
parent 888a75bebc
commit 5dd23ec18b
2 changed files with 21 additions and 7 deletions

View File

@ -1,3 +1,8 @@
2004-05-28 H.J. Lu <hongjiu.lu@intel.com>
* elfxx-ia64.c (elfNN_ia64_relax_section): Properly call
_bfd_merged_section_offset for local symbols.
2004-05-28 Andrew Stubbs <andrew.stubbs@superh.com> 2004-05-28 Andrew Stubbs <andrew.stubbs@superh.com>
* Makefile.am: Regenerate dependencies. * Makefile.am: Regenerate dependencies.

View File

@ -864,6 +864,15 @@ elfNN_ia64_relax_section (abfd, sec, link_info, again)
toff = isym->st_value; toff = isym->st_value;
dyn_i = get_dyn_sym_info (ia64_info, NULL, abfd, irel, FALSE); dyn_i = get_dyn_sym_info (ia64_info, NULL, abfd, irel, FALSE);
if ((tsec->flags & SEC_MERGE)
&& ELF_ST_TYPE (isym->st_info) == STT_SECTION
&& tsec->sec_info_type == ELF_INFO_TYPE_MERGE)
toff = _bfd_merged_section_offset (abfd, &tsec,
elf_section_data (tsec)->sec_info,
toff + irel->r_addend);
else
toff += irel->r_addend;
} }
else else
{ {
@ -908,7 +917,6 @@ elfNN_ia64_relax_section (abfd, sec, link_info, again)
tsec = h->root.u.def.section; tsec = h->root.u.def.section;
toff = h->root.u.def.value; toff = h->root.u.def.value;
} }
}
if (tsec->sec_info_type == ELF_INFO_TYPE_MERGE) if (tsec->sec_info_type == ELF_INFO_TYPE_MERGE)
toff = _bfd_merged_section_offset (abfd, &tsec, toff = _bfd_merged_section_offset (abfd, &tsec,
@ -916,6 +924,7 @@ elfNN_ia64_relax_section (abfd, sec, link_info, again)
toff + irel->r_addend); toff + irel->r_addend);
else else
toff += irel->r_addend; toff += irel->r_addend;
}
symaddr = tsec->output_section->vma + tsec->output_offset + toff; symaddr = tsec->output_section->vma + tsec->output_offset + toff;