Please use GitHub pull requests for new patches. Avoid migrating existing patches. Phabricator shutdown timeline
Changeset View
Changeset View
Standalone View
Standalone View
lld/ELF/Config.h
Show First 20 Lines • Show All 61 Lines • ▼ Show 20 Lines | |||||
// can be found in version script if it is used for link. | // can be found in version script if it is used for link. | ||||
struct VersionDefinition { | struct VersionDefinition { | ||||
llvm::StringRef Name; | llvm::StringRef Name; | ||||
uint16_t Id = 0; | uint16_t Id = 0; | ||||
std::vector<SymbolVersion> Globals; | std::vector<SymbolVersion> Globals; | ||||
size_t NameOff = 0; // Offset in the string table | size_t NameOff = 0; // Offset in the string table | ||||
}; | }; | ||||
// Structure for mapping renamed symbols | |||||
struct RenamedSymbol { | |||||
Symbol *Target; | |||||
uint8_t OrigBinding; | |||||
}; | |||||
// This struct contains the global configuration for the linker. | // This struct contains the global configuration for the linker. | ||||
// Most fields are direct mapping from the command line options | // Most fields are direct mapping from the command line options | ||||
// and such fields have the same name as the corresponding options. | // and such fields have the same name as the corresponding options. | ||||
// Most fields are initialized by the driver. | // Most fields are initialized by the driver. | ||||
struct Configuration { | struct Configuration { | ||||
InputFile *FirstElf = nullptr; | InputFile *FirstElf = nullptr; | ||||
uint8_t OSABI = 0; | uint8_t OSABI = 0; | ||||
llvm::CachePruningPolicy ThinLTOCachePolicy; | llvm::CachePruningPolicy ThinLTOCachePolicy; | ||||
Show All 15 Lines | struct Configuration { | ||||
std::vector<VersionDefinition> VersionDefinitions; | std::vector<VersionDefinition> VersionDefinitions; | ||||
std::vector<llvm::StringRef> AuxiliaryList; | std::vector<llvm::StringRef> AuxiliaryList; | ||||
std::vector<llvm::StringRef> SearchPaths; | std::vector<llvm::StringRef> SearchPaths; | ||||
std::vector<llvm::StringRef> SymbolOrderingFile; | std::vector<llvm::StringRef> SymbolOrderingFile; | ||||
std::vector<llvm::StringRef> Undefined; | std::vector<llvm::StringRef> Undefined; | ||||
std::vector<SymbolVersion> VersionScriptGlobals; | std::vector<SymbolVersion> VersionScriptGlobals; | ||||
std::vector<SymbolVersion> VersionScriptLocals; | std::vector<SymbolVersion> VersionScriptLocals; | ||||
std::vector<uint8_t> BuildIdVector; | std::vector<uint8_t> BuildIdVector; | ||||
llvm::MapVector<Symbol*, RenamedSymbol> RenamedSymbols; | |||||
ruiu: Please run clang-format-diff. It should be formatted as `<Symbol *, RenamedSymbol>` | |||||
bool AllowMultipleDefinition; | bool AllowMultipleDefinition; | ||||
This is the only field in Config that has a comment. Not sure how I feel about it, I'll defer it to Rui. davide: This is the only field in `Config` that has a comment. Not sure how I feel about it, I'll defer… | |||||
Not Done ReplyInline ActionsRemoved the comment. Now it's next to the RemappedSymbol structure. dmikulin: Removed the comment. Now it's next to the RemappedSymbol structure. | |||||
bool AsNeeded = false; | bool AsNeeded = false; | ||||
bool Bsymbolic; | bool Bsymbolic; | ||||
bool BsymbolicFunctions; | bool BsymbolicFunctions; | ||||
bool ColorDiagnostics = false; | bool ColorDiagnostics = false; | ||||
bool CompressDebugSections; | bool CompressDebugSections; | ||||
bool DefineCommon; | bool DefineCommon; | ||||
bool Demangle = true; | bool Demangle = true; | ||||
bool DisableVerify; | bool DisableVerify; | ||||
▲ Show 20 Lines • Show All 119 Lines • Show Last 20 Lines |
Please run clang-format-diff. It should be formatted as <Symbol *, RenamedSymbol>