return Out<ELFT>::Got->getTlsIndexVA();
case Off_Sec:
return OffsetInSec + OffsetSec->getVA();
- case Off_Bss:
- return cast<SharedSymbol<ELFT>>(Sym)->OffsetInBss + Out<ELFT>::Bss->getVA();
case Off_Got:
return Sym->getGotVA<ELFT>();
case Off_GotPlt:
enum OffsetKind {
Off_Got, // The got entry of Sym.
Off_GotPlt, // The got.plt entry of Sym.
- Off_Bss, // The bss entry of Sym (copy reloc).
Off_Sec, // The final position of the given input section and offset.
Off_LTlsIndex, // The local tls index.
Off_GTlsIndex, // The global tls index of Sym.
Off = alignTo(Off, Align);
Out<ELFT>::Bss->setSize(Off + SS->template getSize<ELFT>());
Out<ELFT>::Bss->updateAlign(Align);
- Out<ELFT>::RelaDyn->addReloc(
- {Target->CopyRel, DynamicReloc<ELFT>::Off_Bss, SS});
uintX_t Shndx = SS->Sym.st_shndx;
uintX_t Value = SS->Sym.st_value;
// Look through the DSO's dynamic symbol for aliases and create a dynamic
S.setUsedInRegularObj();
S.MustBeInDynSym = true;
}
+ Out<ELFT>::RelaDyn->addReloc(
+ {Target->CopyRel, Out<ELFT>::Bss, SS->OffsetInBss, false, SS, 0});
}
template <class ELFT>