Skip to content

Commit a1fa43d

Browse files
committed
[ELF] Simplify code. NFC
Make it easier to add CREL support.
1 parent 79cd6c3 commit a1fa43d

File tree

1 file changed

+11
-12
lines changed

1 file changed

+11
-12
lines changed

lld/ELF/Writer.cpp

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -783,13 +783,11 @@ template <class ELFT> void Writer<ELFT>::addRelIpltSymbols() {
783783
// __rela_iplt_{start,end} are initially defined relative to dummy section 0.
784784
// We'll override Out::elfHeader with relaDyn later when we are sure that
785785
// .rela.dyn will be present in the output.
786-
ElfSym::relaIpltStart = addOptionalRegular(
787-
config->isRela ? "__rela_iplt_start" : "__rel_iplt_start",
788-
Out::elfHeader, 0, STV_HIDDEN);
789-
790-
ElfSym::relaIpltEnd = addOptionalRegular(
791-
config->isRela ? "__rela_iplt_end" : "__rel_iplt_end",
792-
Out::elfHeader, 0, STV_HIDDEN);
786+
std::string name = config->isRela ? "__rela_iplt_start" : "__rel_iplt_start";
787+
ElfSym::relaIpltStart =
788+
addOptionalRegular(name, Out::elfHeader, 0, STV_HIDDEN);
789+
name.replace(name.size() - 5, 5, "end");
790+
ElfSym::relaIpltEnd = addOptionalRegular(name, Out::elfHeader, 0, STV_HIDDEN);
793791
}
794792

795793
// This function generates assignments for predefined symbols (e.g. _end or
@@ -2487,11 +2485,12 @@ template <class ELFT> void Writer<ELFT>::assignFileOffsets() {
24872485
lastRX->lastSec == sec)
24882486
off = alignToPowerOf2(off, config->maxPageSize);
24892487
}
2490-
for (OutputSection *osec : outputSections)
2491-
if (!(osec->flags & SHF_ALLOC)) {
2492-
osec->offset = alignToPowerOf2(off, osec->addralign);
2493-
off = osec->offset + osec->size;
2494-
}
2488+
for (OutputSection *osec : outputSections) {
2489+
if (osec->flags & SHF_ALLOC)
2490+
continue;
2491+
osec->offset = alignToPowerOf2(off, osec->addralign);
2492+
off = osec->offset + osec->size;
2493+
}
24952494

24962495
sectionHeaderOff = alignToPowerOf2(off, config->wordsize);
24972496
fileSize = sectionHeaderOff + (outputSections.size() + 1) * sizeof(Elf_Shdr);

0 commit comments

Comments
 (0)