}
}
-template <class ELFT>
-void LinkerScript<ELFT>::assignAddresses(
- ArrayRef<OutputSectionBase<ELFT> *> Sections) {
+template <class ELFT> void LinkerScript<ELFT>::assignAddresses() {
+ ArrayRef<OutputSectionBase<ELFT> *> Sections = *OutputSections;
// Orphan sections are sections present in the input files which
// are not explicitly placed into the output file by the linker script.
// We place orphan sections at end of file.
}
template <class ELFT>
-std::vector<PhdrEntry<ELFT>>
-LinkerScript<ELFT>::createPhdrs(ArrayRef<OutputSectionBase<ELFT> *> Sections) {
+std::vector<PhdrEntry<ELFT>> LinkerScript<ELFT>::createPhdrs() {
+ ArrayRef<OutputSectionBase<ELFT> *> Sections = *OutputSections;
std::vector<PhdrEntry<ELFT>> Ret;
for (const PhdrsCommand &Cmd : Opt.PhdrsCommands) {
void createSections(std::vector<OutputSectionBase<ELFT> *> *Out,
OutputSectionFactory<ELFT> &Factory);
- std::vector<PhdrEntry<ELFT>>
- createPhdrs(ArrayRef<OutputSectionBase<ELFT> *> S);
+ std::vector<PhdrEntry<ELFT>> createPhdrs();
ArrayRef<uint8_t> getFiller(StringRef Name);
bool shouldKeep(InputSectionBase<ELFT> *S);
- void assignAddresses(ArrayRef<OutputSectionBase<ELFT> *> S);
+ void assignAddresses();
int compareSections(StringRef A, StringRef B);
void addScriptedSymbols();
bool hasPhdrsCommands();
if (Config->Relocatable) {
assignFileOffsets();
} else {
- Phdrs = Script<ELFT>::X->hasPhdrsCommands()
- ? Script<ELFT>::X->createPhdrs(OutputSections)
- : createPhdrs();
+ Phdrs = Script<ELFT>::X->hasPhdrsCommands() ? Script<ELFT>::X->createPhdrs()
+ : createPhdrs();
fixHeaders();
if (ScriptConfig->HasContents) {
- Script<ELFT>::X->assignAddresses(OutputSections);
+ Script<ELFT>::X->assignAddresses();
} else {
fixSectionAlignments();
assignAddresses();