Please use GitHub pull requests for new patches. Phabricator shutdown timeline
Changeset View
Changeset View
Standalone View
Standalone View
lld/ELF/LinkerScript.h
Show First 20 Lines • Show All 221 Lines • ▼ Show 20 Lines | struct ByteCommand : BaseCommand { | ||||
// This is just an offset of this assignment command in the output section. | // This is just an offset of this assignment command in the output section. | ||||
unsigned offset; | unsigned offset; | ||||
// Size of this data command. | // Size of this data command. | ||||
unsigned size; | unsigned size; | ||||
}; | }; | ||||
struct InsertCommand { | struct InsertCommand { | ||||
OutputSection *os; | StringRef name; | ||||
bool isAfter; | bool isAfter; | ||||
StringRef where; | StringRef where; | ||||
}; | }; | ||||
struct PhdrsCommand { | struct PhdrsCommand { | ||||
StringRef name; | StringRef name; | ||||
unsigned type = llvm::ELF::PT_NULL; | unsigned type = llvm::ELF::PT_NULL; | ||||
bool hasFilehdr = false; | bool hasFilehdr = false; | ||||
▲ Show 20 Lines • Show All 99 Lines • ▼ Show 20 Lines | public: | ||||
// A list of symbols referenced by the script. | // A list of symbols referenced by the script. | ||||
std::vector<llvm::StringRef> referencedSymbols; | std::vector<llvm::StringRef> referencedSymbols; | ||||
// Used to implement INSERT [AFTER|BEFORE]. Contains output sections that need | // Used to implement INSERT [AFTER|BEFORE]. Contains output sections that need | ||||
// to be reordered. | // to be reordered. | ||||
std::vector<InsertCommand> insertCommands; | std::vector<InsertCommand> insertCommands; | ||||
// OutputSections specified by OVERWRITE_SECTIONS. | |||||
std::vector<OutputSection *> overwriteSections; | |||||
// Sections that will be warned/errored by --orphan-handling. | // Sections that will be warned/errored by --orphan-handling. | ||||
std::vector<const InputSectionBase *> orphanSections; | std::vector<const InputSectionBase *> orphanSections; | ||||
}; | }; | ||||
extern LinkerScript *script; | extern LinkerScript *script; | ||||
} // end namespace elf | } // end namespace elf | ||||
} // end namespace lld | } // end namespace lld | ||||
#endif // LLD_ELF_LINKER_SCRIPT_H | #endif // LLD_ELF_LINKER_SCRIPT_H |