summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lld/ELF/Writer.cpp21
1 files changed, 9 insertions, 12 deletions
diff --git a/lld/ELF/Writer.cpp b/lld/ELF/Writer.cpp
index 6b3ae076aa7..94515fc341c 100644
--- a/lld/ELF/Writer.cpp
+++ b/lld/ELF/Writer.cpp
@@ -874,20 +874,17 @@ template <class ELFT> void Writer<ELFT>::addReservedSymbols() {
// __ehdr_start is the location of ELF file headers.
addOptionalRegular<ELFT>("__ehdr_start", Out::ElfHeader, 0, STV_HIDDEN);
- // __bss_start is the location of .bss section.
- ElfSym::Bss =
- addOptionalRegular<ELFT>("__bss_start", Out::ElfHeader, 0, STV_DEFAULT);
-
- auto Define = [](StringRef S, DefinedRegular *&Sym1, DefinedRegular *&Sym2) {
- Sym1 = addOptionalRegular<ELFT>(S, Out::ElfHeader, 0, STV_DEFAULT);
- assert(S.startswith("_"));
- S = S.substr(1);
- Sym2 = addOptionalRegular<ELFT>(S, Out::ElfHeader, 0, STV_DEFAULT);
+ auto Add = [](StringRef S) {
+ return addOptionalRegular<ELFT>(S, Out::ElfHeader, 0, STV_DEFAULT);
};
- Define("_end", ElfSym::End, ElfSym::End2);
- Define("_etext", ElfSym::Etext, ElfSym::Etext2);
- Define("_edata", ElfSym::Edata, ElfSym::Edata2);
+ ElfSym::Bss = Add("__bss_start");
+ ElfSym::End = Add("_end");
+ ElfSym::End2 = Add("end");
+ ElfSym::Etext = Add("_etext");
+ ElfSym::Etext2 = Add("etext");
+ ElfSym::Edata = Add("_edata");
+ ElfSym::Edata2 = Add("edata");
}
// Sort input sections by section name suffixes for
OpenPOWER on IntegriCloud