diff options
Diffstat (limited to 'lld/ELF/ScriptParser.cpp')
-rw-r--r-- | lld/ELF/ScriptParser.cpp | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/lld/ELF/ScriptParser.cpp b/lld/ELF/ScriptParser.cpp index 671a5ec..4c52bfd 100644 --- a/lld/ELF/ScriptParser.cpp +++ b/lld/ELF/ScriptParser.cpp @@ -988,20 +988,8 @@ OutputDesc *ScriptParser::readOverlaySectionDescription() { ctx.script->createOutputSection(readName(), getCurrentLocation()); osd->osec.inOverlay = true; expect("{"); - while (auto tok = till("}")) { - uint64_t withFlags = 0; - uint64_t withoutFlags = 0; - if (tok == "INPUT_SECTION_FLAGS") { - std::tie(withFlags, withoutFlags) = readInputSectionFlags(); - tok = till(""); - } - if (tok == "CLASS") - osd->osec.commands.push_back(make<InputSectionDescription>( - StringRef{}, withFlags, withoutFlags, readSectionClassName())); - else - osd->osec.commands.push_back( - readInputSectionRules(tok, withFlags, withoutFlags)); - } + while (auto tok = till("}")) + osd->osec.commands.push_back(readInputSectionDescription(tok)); osd->osec.phdrs = readOutputSectionPhdrs(); return osd; } |