diff options
| -rw-r--r-- | lld/ELF/Writer.cpp | 21 | 
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  | 

