llvm-project/lld/ELF
Fangrui Song 4a8de2832a [ELF] Add -z pack-relative-relocs
GNU ld 2.38 added -z pack-relative-relocs which is similar to
--pack-dyn-relocs=relr but synthesizes the `GLIBC_ABI_DT_RELR` version
dependency if a shared object named `libc.so.*` has a `GLIBC_2.*` version
dependency.

This is used to implement the (as some glibc folks call) version lockout
mechanism. Add this option, because glibc does not want to support
--pack-dyn-relocs=relr which does not add `GLIBC_ABI_DT_RELR`.
See https://maskray.me/blog/2021-10-31-relative-relocations-and-relr for
detail.

Close https://github.com/llvm/llvm-project/issues/53775

Reviewed By: peter.smith

Differential Revision: https://reviews.llvm.org/D120701
2022-03-10 19:54:21 -08:00
..
Arch [ELF] Support some absolute/PC-relative relocation types for REL format 2022-02-25 19:25:18 +00: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
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
CMakeLists.txt
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 [ELF] Add -z pack-relative-relocs 2022-03-10 19:54:21 -08:00
DWARF.cpp
DWARF.h
Driver.cpp [ELF] Add -z pack-relative-relocs 2022-03-10 19:54:21 -08:00
Driver.h [ELF] Change global variable backwardReferences to a LinkerDriver member variable. NFC 2022-02-27 20:33:28 +00:00
DriverUtils.cpp
EhFrame.cpp [ELF] Replace uncompressed InputSectionBase::data() with rawData. NFC 2022-02-21 00:39:26 -08:00
EhFrame.h
ICF.cpp [ELF] Don't use multiple inheritance for OutputSection. NFC 2022-03-08 11:23:42 -08:00
ICF.h
InputFiles.cpp Reland D119909 [ELF] Parallelize initializeLocalSymbols 2022-03-04 19:00:10 -08:00
InputFiles.h Reland D119909 [ELF] Parallelize initializeLocalSymbols 2022-03-04 19:00:10 -08:00
InputSection.cpp [ELF] Inline InputSection::getParent. NFC 2022-03-08 11:26:12 -08:00
InputSection.h [ELF] Inline InputSection::getParent. NFC 2022-03-08 11:26:12 -08:00
LTO.cpp [ELF] Set config->exportDynamic to true if config->shared. NFC 2022-02-24 11:31:58 -08: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] Don't rely on Symbols.h's transitive inclusion of InputFiles.h. NFC 2022-02-23 20:44:34 -08:00
MarkLive.h
Options.td [ELF] Enforce double-dash form --error-limit 2022-02-27 20:49:36 +00: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] Don't rely on Symbols.h's transitive inclusion of InputFiles.h. NFC 2022-02-23 20:44:34 -08:00
Relocations.h
ScriptLexer.cpp
ScriptLexer.h
ScriptParser.cpp [ELF] Don't use multiple inheritance for OutputSection. NFC 2022-03-08 11:23:42 -08:00
ScriptParser.h
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] Rename Symbol::compare to shouldReplace. NFC 2022-02-28 18:25:21 +00:00
Symbols.h [ELF] Rename Symbol::compare to shouldReplace. NFC 2022-02-28 18:25:21 +00:00
SyntheticSections.cpp [ELF] Add -z pack-relative-relocs 2022-03-10 19:54:21 -08:00
SyntheticSections.h [ELF][X86] Don't create IBT .plt if there is no PLT entry 2022-02-26 03:55:40 +00:00
Target.cpp
Target.h
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
Writer.cpp [ELF] Don't use multiple inheritance for OutputSection. NFC 2022-03-08 11:23:42 -08:00
Writer.h

README.md

See docs/NewLLD.rst