Changeset View
Changeset View
Standalone View
Standalone View
contrib/llvm/tools/lld/ELF/Writer.cpp
Show First 20 Lines • Show All 1,662 Lines • ▼ Show 20 Lines | if (S->isGnuIFunc() && Config->ZIfuncnoplt) | ||||
S->ExportDynamic = true; | S->ExportDynamic = true; | ||||
} | } | ||||
// Scan relocations. This must be done after every symbol is declared so that | // Scan relocations. This must be done after every symbol is declared so that | ||||
// we can correctly decide if a dynamic relocation is needed. | // we can correctly decide if a dynamic relocation is needed. | ||||
if (!Config->Relocatable) | if (!Config->Relocatable) | ||||
forEachRelSec(scanRelocations<ELFT>); | forEachRelSec(scanRelocations<ELFT>); | ||||
addIRelativeRelocs(); | |||||
if (In.Plt && !In.Plt->empty()) | if (In.Plt && !In.Plt->empty()) | ||||
In.Plt->addSymbols(); | In.Plt->addSymbols(); | ||||
if (In.Iplt && !In.Iplt->empty()) | if (In.Iplt && !In.Iplt->empty()) | ||||
In.Iplt->addSymbols(); | In.Iplt->addSymbols(); | ||||
if (!Config->AllowShlibUndefined) { | if (!Config->AllowShlibUndefined) { | ||||
// Error on undefined symbols in a shared object, if all of its DT_NEEDED | // Error on undefined symbols in a shared object, if all of its DT_NEEDED | ||||
// entires are seen. These cases would otherwise lead to runtime errors | // entires are seen. These cases would otherwise lead to runtime errors | ||||
▲ Show 20 Lines • Show All 867 Lines • Show Last 20 Lines |