llvm-project/lld/ELF
Fangrui Song e9262edf0d [ELF] SymbolTable:🔣 don't filter out PlaceholderKind
Placeholders (-y and redirectSymbols removed versioned symbols) are very rare and
the check just makes symbol table iteration slower. Most iterations filter out
placeholders anyway, so this change just drops the filter behavior.

For "Add symbols to symtabs", we need to ensure that redirectSymbols sets
isUsedInRegularObj to false when making a symbol placeholder, to avoid an
assertion failure in SymbolTableSection<ELFT>::writeTo.

My .text is 2KiB smaller. The speed-up linking chrome is 0.x%.
2021-12-26 18:11:45 -08:00
..
Arch [ELF] Change some non-null pointer parameters to references. NFC 2021-12-22 20:51:11 -08:00
AArch64ErrataFix.cpp [ELF] Change InputSectionDescription members from vector to SmallVector 2021-12-26 13:06:54 -08:00
AArch64ErrataFix.h [LLD][ELF] Optimize linker script filename glob pattern matching NFC 2020-09-16 10:26:11 +01:00
ARMErrataFix.cpp [ELF] Change InputSectionDescription members from vector to SmallVector 2021-12-26 13:06:54 -08:00
ARMErrataFix.h [LLD][ELF] Optimize linker script filename glob pattern matching NFC 2020-09-16 10:26:11 +01:00
CMakeLists.txt [CMake] Make `intrinsics_gen` dependency unconditional. 2020-07-17 16:43:17 -07:00
CallGraphSort.cpp [ELF] Avoid referencing SectionBase::repl after ICF 2021-12-24 12:09:48 -08:00
CallGraphSort.h
Config.h [ELF] Change some global pointers to unique_ptr 2021-12-22 14:36:14 -08:00
DWARF.cpp [ELF] Add ELFFileBase::{elfShdrs,numELFShdrs} to avoid duplicate llvm::object::ELFFile::sections() 2021-12-24 17:10:38 -08:00
DWARF.h [ELF] --gdb-index: skip SHF_GROUP .debug_info 2020-08-13 09:11:01 -07:00
Driver.cpp [ELF] SymbolTable:🔣 don't filter out PlaceholderKind 2021-12-26 18:11:45 -08:00
Driver.h [ELF] Change some global pointers to unique_ptr 2021-12-22 14:36:14 -08:00
DriverUtils.cpp [ELF] Update comments/diagnostics for some long options to use the canonical two-dash form 2021-10-25 12:52:06 -07:00
EhFrame.cpp ELF: Teach the linker about the 'B' augmentation string character. 2021-01-05 19:51:11 -08:00
EhFrame.h [ELF] --icf: don't fold text sections with LSDA 2020-08-05 09:16:28 -07:00
ICF.cpp [ELF] Avoid referencing SectionBase::repl after ICF 2021-12-24 12:09:48 -08:00
ICF.h
InputFiles.cpp [ELF] Optimize replaceCommonSymbols 2021-12-24 19:01:51 -08:00
InputFiles.h [ELF] Optimize replaceCommonSymbols 2021-12-24 19:01:51 -08:00
InputSection.cpp [ELF] De-template InputSectionBase::getEnclosingFunction 2021-12-26 15:21:22 -08:00
InputSection.h [ELF] De-template InputSectionBase::getEnclosingFunction 2021-12-26 15:21:22 -08:00
LTO.cpp [ELF] SymbolTable:🔣 don't filter out PlaceholderKind 2021-12-26 18:11:45 -08:00
LTO.h
LinkerScript.cpp [ELF] LinkerScript/OutputSection: change other std::vector members to SmallVector 2021-12-26 13:53:47 -08:00
LinkerScript.h [ELF] LinkerScript/OutputSection: change other std::vector members to SmallVector 2021-12-26 13:53:47 -08:00
MapFile.cpp [ELF] Change objectFiles to ELFFileBase * 2021-12-15 00:37:10 -08:00
MapFile.h [ELF] --cref: If -Map is specified, print to the map file 2021-11-29 14:14:53 -08:00
MarkLive.cpp [ELF] Remove stale comment which was duplicated in MarkLive<ELFT>::run 2021-12-23 15:13:46 -08:00
MarkLive.h
Options.td [ELF] Move -l -L canonical and --library-path --library aliases 2021-12-15 21:49:53 -08:00
OutputSections.cpp [ELF] LinkerScript/OutputSection: change other std::vector members to SmallVector 2021-12-26 13:53:47 -08:00
OutputSections.h [ELF] LinkerScript/OutputSection: change other std::vector members to SmallVector 2021-12-26 13:53:47 -08:00
README.md
Relocations.cpp [ELF] Add Symbol::hasVersionSuffix 2021-12-26 17:25:54 -08:00
Relocations.h Reland D114783/D115603 [ELF] Split scanRelocations into scanRelocations/postScanRelocations 2021-12-14 16:28:41 -08:00
ScriptLexer.cpp [ELF] Optimize ScriptLexer::getLineNumber by caching the previous line number and offset 2021-06-22 15:35:24 -07:00
ScriptLexer.h [ELF] Optimize ScriptLexer::getLineNumber by caching the previous line number and offset 2021-06-22 15:35:24 -07:00
ScriptParser.cpp [ELF] LinkerScript/OutputSection: change other std::vector members to SmallVector 2021-12-26 13:53:47 -08:00
ScriptParser.h [ELF] Improve --export-dynamic-symbol performance by checking whether wildcard is really used 2020-06-17 17:12:10 -07:00
SymbolTable.cpp [ELF] Add Symbol::hasVersionSuffix 2021-12-26 17:25:54 -08:00
SymbolTable.h [ELF] SymbolTable:🔣 don't filter out PlaceholderKind 2021-12-26 18:11:45 -08:00
Symbols.cpp [ELF] SymbolTable:🔣 don't filter out PlaceholderKind 2021-12-26 18:11:45 -08:00
Symbols.h [ELF] Add Symbol::hasVersionSuffix 2021-12-26 17:25:54 -08:00
SyntheticSections.cpp [ELF] Remove one redundant computeBinding 2021-12-25 23:59:27 -08:00
SyntheticSections.h [ELF] LinkerScript/OutputSection: change other std::vector members to SmallVector 2021-12-26 13:53:47 -08:00
Target.cpp [ELF] Change common diagnostics to report both object file location and source file location 2021-10-28 09:38:45 -07:00
Target.h [ELF] Inline isPPC64SmallCodeModelTocReloc which is only called once. NFC 2021-11-09 20:41:05 -08:00
Thunks.cpp [ELF][PPC32] Support .got2 in an output section description 2021-12-23 11:32:44 -08:00
Thunks.h [lld] Add missing includes (NFC) 2021-06-03 18:55:18 +02:00
Writer.cpp [ELF] LinkerScript/OutputSection: change other std::vector members to SmallVector 2021-12-26 13:53:47 -08:00
Writer.h [ELF] Move getOutputSectionName from Writer.cpp to LinkerScript.cpp. NFC 2021-11-20 22:18:09 -08:00

README.md

See docs/NewLLD.rst