llvm-project/lld/ELF
Shoaib Meenai 4641d86e45 [ELF] Shrink binding and type in Symbol
STB_HIPROC and STT_HIPROC are both 15, so we can fit the symbol binding
and type in 4 bits. This gives us an additional byte to use for Symbol
flags (without increasing the type's size), which I'll be making use of
in the next diff.

Reorder type and binding based on a suggestion from @MaskRay, to
optimize st_info computation on little-endian systems (see
https://godbolt.org/z/nMn8Yar43).

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D124042
2022-04-20 10:46:36 -07:00
..
Arch [ELF][ARM] Fix unneeded thunk for branches to hidden undefined weak 2022-04-14 23:58:13 -07:00
AArch64ErrataFix.cpp [ELF] Don't rely on Symbols.h's transitive inclusion of InputFiles.h. NFC 2022-02-23 20:44:34 -08:00
AArch64ErrataFix.h [ELF] AArch64ErrataFix: replace std::map with DenseMap. NFC 2022-02-07 22:02:25 -08:00
ARMErrataFix.cpp [ELF] Don't rely on Symbols.h's transitive inclusion of InputFiles.h. NFC 2022-02-23 20:44:34 -08:00
ARMErrataFix.h [ELF] Clean up headers. NFC 2022-02-07 21:53:34 -08:00
CMakeLists.txt [ELF] Parallelize --compress-debug-sections=zlib 2022-01-25 10:29:04 -08:00
CallGraphSort.cpp [ELF] Don't rely on Symbols.h's transitive inclusion of InputFiles.h. NFC 2022-02-23 20:44:34 -08:00
CallGraphSort.h
Config.h [lld] Remove support for legacy pass manager 2022-04-07 10:17:31 +02:00
DWARF.cpp [ELF] Clean up headers. NFC 2022-02-07 21:53:34 -08:00
DWARF.h [ELF] --gdb-index: skip SHF_GROUP .debug_info 2020-08-13 09:11:01 -07:00
Driver.cpp [lld] Remove support for legacy pass manager 2022-04-07 10:17:31 +02:00
Driver.h [ELF] Change global variable backwardReferences to a LinkerDriver member variable. NFC 2022-02-27 20:33:28 +00:00
DriverUtils.cpp [ELF] Clean up headers. NFC 2022-02-07 21:53:34 -08:00
EhFrame.cpp [ELF] Replace uncompressed InputSectionBase::data() with rawData. NFC 2022-02-21 00:39:26 -08:00
EhFrame.h [ELF] Simplify/optimize EhInputSection::split 2022-01-18 17:03:23 -08:00
ICF.cpp [ELF] Don't use multiple inheritance for OutputSection. NFC 2022-03-08 11:23:42 -08:00
ICF.h
InputFiles.cpp [ELF] Move invalid binding diagnostic from initializeSymbols to postParse 2022-03-16 00:31:29 -07:00
InputFiles.h Reland D119909 [ELF] Parallelize initializeLocalSymbols 2022-03-04 19:00:10 -08:00
InputSection.cpp [ELF][AArch64] Fix unneeded thunk for branches to hidden undefined weak 2022-04-14 11:32:30 -07:00
InputSection.h [ELF] --emit-relocs: adjust offsets of .rel[a].eh_frame relocations 2022-03-29 09:51:41 -07:00
LTO.cpp [lld] Remove support for legacy pass manager 2022-04-07 10:17:31 +02:00
LTO.h
LinkerScript.cpp [ELF] Don't use multiple inheritance for OutputSection. NFC 2022-03-08 11:23:42 -08:00
LinkerScript.h [ELF] Don't use multiple inheritance for OutputSection. NFC 2022-03-08 11:23:42 -08:00
MapFile.cpp [ELF] Don't use multiple inheritance for OutputSection. NFC 2022-03-08 11:23:42 -08:00
MapFile.h [ELF] Move --print-archive-stats= and --why-extract= beside --warn-backrefs report 2022-02-27 20:23:09 +00:00
MarkLive.cpp [ELF] Simplify MergeInputSection::getParentOffset. NFC 2022-03-28 10:02:35 -07:00
MarkLive.h
Options.td [lld] Remove support for legacy pass manager 2022-04-07 10:17:31 +02:00
OutputSections.cpp [ELF] Don't use multiple inheritance for OutputSection. NFC 2022-03-08 11:23:42 -08:00
OutputSections.h [ELF] Don't use multiple inheritance for OutputSection. NFC 2022-03-08 11:23:42 -08:00
README.md
Relocations.cpp [ELF] Move section assignment from initializeSymbols to postParse 2022-03-15 19:24:41 -07:00
Relocations.h [ELF] Clean up headers. NFC 2022-02-07 21:53:34 -08:00
ScriptLexer.cpp [ELF] Clean up headers. NFC 2022-02-07 21:53:34 -08:00
ScriptLexer.h [ELF] Clean up headers. NFC 2022-02-07 21:53:34 -08:00
ScriptParser.cpp [ELF] Don't use multiple inheritance for OutputSection. NFC 2022-03-08 11:23:42 -08:00
ScriptParser.h [ELF] Clean up headers. NFC 2022-02-07 21:53:34 -08:00
SymbolTable.cpp [ELF] Move isUsedInRegularObj assignment from ctor to call sites. NFC 2022-02-23 21:32:50 -08:00
SymbolTable.h [ELF] Symbols.h: remove #include "InputFiles.h" 2022-02-23 21:36:45 -08:00
Symbols.cpp [ELF] Move section assignment from initializeSymbols to postParse 2022-03-15 19:24:41 -07:00
Symbols.h [ELF] Shrink binding and type in Symbol 2022-04-20 10:46:36 -07:00
SyntheticSections.cpp [ELF] Assert on invalid GOT or PLT relocations 2022-04-20 10:46:04 -07:00
SyntheticSections.h [ELF][MTE] Add --android-memtag-* options to synthesize ELF notes 2022-04-04 11:17:36 -07:00
Target.cpp [ELF] De-template getErrorPlace. NFC 2022-01-29 23:05:54 -08:00
Target.h [ELF] Clean up headers. NFC 2022-02-07 21:53:34 -08:00
Thunks.cpp [ELF] Don't rely on Symbols.h's transitive inclusion of InputFiles.h. NFC 2022-02-23 20:44:34 -08:00
Thunks.h [lld] Add missing includes (NFC) 2021-06-03 18:55:18 +02:00
Writer.cpp [ELF] Fix non-relocatable-non-emit-relocs --gc-sections to discard .L symbols 2022-04-07 14:34:32 -07:00
Writer.h [ELF] Clean up headers. NFC 2022-02-07 21:53:34 -08:00

README.md

See docs/NewLLD.rst