symval += irel->r_addend;
symval = _bfd_merged_section_offset (abfd, & sym_sec,
- sym_sec->sec_info,
symval);
if (ELF_ST_TYPE (isym->st_info) != STT_SECTION)
&& sec->sec_info_type == SEC_INFO_TYPE_MERGE)
{
rel->r_addend =
- _bfd_merged_section_offset (abfd, psec, sec->sec_info,
+ _bfd_merged_section_offset (abfd, psec,
sym->st_value + rel->r_addend);
if (sec != *psec)
{
if (sec->sec_info_type != SEC_INFO_TYPE_MERGE)
return sym->st_value + addend;
- return _bfd_merged_section_offset (abfd, psec, sec->sec_info,
+ return _bfd_merged_section_offset (abfd, psec,
sym->st_value + addend);
}
{
sym_sec = h->root.u.def.section;
symval = _bfd_merged_section_offset (abfd, &sym_sec,
- sym_sec->sec_info,
h->root.u.def.value);
symval = symval + sym_sec->output_section->vma
+ sym_sec->output_offset;
{
if (ELF_ST_TYPE (sym->st_info) == STT_SECTION)
rel->r_addend =
- _bfd_merged_section_offset (abfd, psec, sec->sec_info,
+ _bfd_merged_section_offset (abfd, psec,
sym->st_value + rel->r_addend);
else
rel->r_addend =
- _bfd_merged_section_offset (abfd, psec, sec->sec_info,
+ _bfd_merged_section_offset (abfd, psec,
sym->st_value) + rel->r_addend;
if (sec != *psec)
{
sym_sec = h->root.u.def.section;
symval = _bfd_merged_section_offset (abfd, &sym_sec,
- sym_sec->sec_info,
h->root.u.def.value);
symval = symval + sym_sec->output_section->vma
+ sym_sec->output_offset;
toff += irel->r_addend;
toff
- = _bfd_merged_section_offset (abfd, &tsec, tsec->sec_info,
- toff);
+ = _bfd_merged_section_offset (abfd, &tsec, toff);
if (sym_type != STT_SECTION
&& r_type != R_PPC_PLTREL24)
{
if ((ssec->flags & SEC_MERGE)
&& ssec->sec_info_type == SEC_INFO_TYPE_MERGE)
- symval = _bfd_merged_section_offset (abfd, & ssec,
- ssec->sec_info, symval);
+ symval = _bfd_merged_section_offset (abfd, & ssec, symval);
}
/* Now make the offset relative to where the linker is putting it. */
{
if ((ssec->flags & SEC_MERGE)
&& ssec->sec_info_type == SEC_INFO_TYPE_MERGE)
- symval = _bfd_merged_section_offset (abfd, & ssec,
- ssec->sec_info,
- symval);
+ symval = _bfd_merged_section_offset (abfd, & ssec, symval);
}
/* Now make the offset relative to where the linker is putting it. */
msec = sec;
ent->addend =
_bfd_merged_section_offset (output_bfd, &msec,
- sec->sec_info,
sym->st_value + ent->addend);
ent->addend -= sym->st_value;
ent->addend += msec->output_section->vma
msec = sym_sec;
dynent->addend =
_bfd_merged_section_offset (output_bfd, &msec,
- msec->sec_info,
sym->st_value
+ dynent->addend);
dynent->addend -= sym->st_value;
h->root.u.def.value =
_bfd_merged_section_offset (output_bfd,
&h->root.u.def.section,
- sec->sec_info,
h->root.u.def.value);
}
else if (isec->sec_info_type == SEC_INFO_TYPE_MERGE
&& ELF_ST_TYPE (isym->st_info) != STT_SECTION)
isym->st_value =
- _bfd_merged_section_offset (output_bfd, &isec,
- isec->sec_info,
- isym->st_value);
+ _bfd_merged_section_offset (output_bfd, &isec, isym->st_value);
}
*ppsection = isec;
if (symtype == STT_SECTION)
toff += irel->r_addend;
- toff = _bfd_merged_section_offset (abfd, &tsec, tsec->sec_info,
- toff);
+ toff = _bfd_merged_section_offset (abfd, &tsec, toff);
if (symtype != STT_SECTION)
toff += irel->r_addend;
msec = sym_sec;
dynent->addend =
_bfd_merged_section_offset (output_bfd, &msec,
- msec->sec_info,
sym->st_value
+ dynent->addend);
dynent->addend -= sym->st_value;
if (symtype == STT_SECTION)
symval += rel->r_addend;
- symval = _bfd_merged_section_offset (abfd, &sym_sec,
- sym_sec->sec_info,
- symval);
+ symval = _bfd_merged_section_offset (abfd, &sym_sec, symval);
if (symtype != STT_SECTION)
symval += rel->r_addend;
if (symtype == STT_SECTION)
symval += rel->r_addend;
- symval = _bfd_merged_section_offset (abfd, &sym_sec,
- sym_sec->sec_info, symval);
+ symval = _bfd_merged_section_offset (abfd, &sym_sec, symval);
if (symtype != STT_SECTION)
symval += rel->r_addend;
if (sec->flags & SEC_MERGE)
{
if (ELF_ST_TYPE (isym->st_info) == STT_SECTION)
- addend = _bfd_merged_section_offset (ref->u.abfd, &sec, sec->sec_info,
+ addend = _bfd_merged_section_offset (ref->u.abfd, &sec,
isym->st_value + ref->addend);
else
- addend = _bfd_merged_section_offset (ref->u.abfd, &sec, sec->sec_info,
+ addend = _bfd_merged_section_offset (ref->u.abfd, &sec,
isym->st_value) + ref->addend;
}
else
/* Find an offset within a modified SEC_MERGE section. */
extern bfd_vma _bfd_merged_section_offset
- (bfd *, asection **, void *, bfd_vma) ATTRIBUTE_HIDDEN;
+ (bfd *, asection **, bfd_vma) ATTRIBUTE_HIDDEN;
/* Tidy up when done. */
/* Find an offset within a modified SEC_MERGE section. */
extern bfd_vma _bfd_merged_section_offset
- (bfd *, asection **, void *, bfd_vma) ATTRIBUTE_HIDDEN;
+ (bfd *, asection **, bfd_vma) ATTRIBUTE_HIDDEN;
/* Tidy up when done. */
bfd_vma
_bfd_merged_section_offset (bfd *output_bfd ATTRIBUTE_UNUSED, asection **psec,
- void *psecinfo, bfd_vma offset)
+ bfd_vma offset)
{
- struct sec_merge_sec_info *secinfo;
asection *sec = *psec;
-
- secinfo = (struct sec_merge_sec_info *) psecinfo;
+ struct sec_merge_sec_info *secinfo = sec->sec_info;
if (!secinfo)
return offset;