@@ -783,13 +783,11 @@ template <class ELFT> void Writer<ELFT>::addRelIpltSymbols() {
783
783
// __rela_iplt_{start,end} are initially defined relative to dummy section 0.
784
784
// We'll override Out::elfHeader with relaDyn later when we are sure that
785
785
// .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);
793
791
}
794
792
795
793
// This function generates assignments for predefined symbols (e.g. _end or
@@ -2487,11 +2485,12 @@ template <class ELFT> void Writer<ELFT>::assignFileOffsets() {
2487
2485
lastRX->lastSec == sec)
2488
2486
off = alignToPowerOf2 (off, config->maxPageSize );
2489
2487
}
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
+ }
2495
2494
2496
2495
sectionHeaderOff = alignToPowerOf2 (off, config->wordsize );
2497
2496
fileSize = sectionHeaderOff + (outputSections.size () + 1 ) * sizeof (Elf_Shdr);
0 commit comments