diff --git a/lld/ELF/Config.h b/lld/ELF/Config.h index dd5b5a89ba65..792cfdcd3cc3 100644 --- a/lld/ELF/Config.h +++ b/lld/ELF/Config.h @@ -43,7 +43,7 @@ enum class StripPolicy { None, All, Debug }; enum class UnresolvedPolicy { NoUndef, ReportError, Warn, Ignore }; // For --sort-section and linkerscript sorting rules. -enum class SortSectionPolicy { None, IgnoreConfig, Alignment, Name, Priority }; +enum class SortSectionPolicy { Default, None, Alignment, Name, Priority }; struct SymbolVersion { llvm::StringRef Name; diff --git a/lld/ELF/Driver.cpp b/lld/ELF/Driver.cpp index 90b473b4d351..3e1f723671b0 100644 --- a/lld/ELF/Driver.cpp +++ b/lld/ELF/Driver.cpp @@ -415,7 +415,7 @@ static SortSectionPolicy getSortKind(opt::InputArgList &Args) { return SortSectionPolicy::Name; if (!S.empty()) error("unknown --sort-section rule: " + S); - return SortSectionPolicy::None; + return SortSectionPolicy::Default; } // Initializes Config members by the command line options. diff --git a/lld/ELF/LinkerScript.cpp b/lld/ELF/LinkerScript.cpp index e6c60937161f..066c4eb0f8d2 100644 --- a/lld/ELF/LinkerScript.cpp +++ b/lld/ELF/LinkerScript.cpp @@ -179,10 +179,10 @@ void LinkerScript::computeInputSections(InputSectionDescription *I) { } } - if (I->SortInner != SortSectionPolicy::None) + if (I->SortInner != SortSectionPolicy::Default) std::stable_sort(I->Sections.begin(), I->Sections.end(), getComparator(I->SortInner)); - if (I->SortOuter != SortSectionPolicy::None) + if (I->SortOuter != SortSectionPolicy::Default) std::stable_sort(I->Sections.begin(), I->Sections.end(), getComparator(I->SortOuter)); @@ -1001,23 +1001,21 @@ SortSectionPolicy ScriptParser::readSortKind() { return SortSectionPolicy::Alignment; if (skip("SORT_BY_INIT_PRIORITY")) return SortSectionPolicy::Priority; - // `SORT_NONE' disables section sorting by ignoring the command line - // section sorting option. if (skip("SORT_NONE")) - return SortSectionPolicy::IgnoreConfig; - return SortSectionPolicy::None; + return SortSectionPolicy::None; + return SortSectionPolicy::Default; } static void selectSortKind(InputSectionDescription *Cmd) { - if (Cmd->SortOuter == SortSectionPolicy::IgnoreConfig) { - Cmd->SortOuter = SortSectionPolicy::None; + if (Cmd->SortOuter == SortSectionPolicy::None) { + Cmd->SortOuter = SortSectionPolicy::Default; return; } - if (Cmd->SortOuter != SortSectionPolicy::None) { + if (Cmd->SortOuter != SortSectionPolicy::Default) { // If the section sorting command in linker script is nested, the command // line option will be ignored. - if (Cmd->SortInner != SortSectionPolicy::None) + if (Cmd->SortInner != SortSectionPolicy::Default) return; // If the section sorting command in linker script isn't nested, the // command line option will make the section sorting command to be treated @@ -1066,11 +1064,11 @@ ScriptParser::readInputSectionRules(StringRef FilePattern) { // Read SORT(). SortSectionPolicy K1 = readSortKind(); - if (K1 != SortSectionPolicy::None) { + if (K1 != SortSectionPolicy::Default) { Cmd->SortOuter = K1; expect("("); SortSectionPolicy K2 = readSortKind(); - if (K2 != SortSectionPolicy::None) { + if (K2 != SortSectionPolicy::Default) { Cmd->SortInner = K2; expect("("); Cmd->SectionsVec.push_back({llvm::Regex(), readFilePatterns()}); diff --git a/lld/ELF/LinkerScript.h b/lld/ELF/LinkerScript.h index cc8ffdad1843..f8203eb2c3a2 100644 --- a/lld/ELF/LinkerScript.h +++ b/lld/ELF/LinkerScript.h @@ -104,8 +104,8 @@ struct InputSectionDescription : BaseCommand { FileRe(compileGlobPatterns({FilePattern})) {} static bool classof(const BaseCommand *C); llvm::Regex FileRe; - SortSectionPolicy SortOuter = SortSectionPolicy::None; - SortSectionPolicy SortInner = SortSectionPolicy::None; + SortSectionPolicy SortOuter = SortSectionPolicy::Default; + SortSectionPolicy SortInner = SortSectionPolicy::Default; // Pairs of section regex and files excluded. std::list> SectionsVec; std::vector Sections;