llvm-capstone/lld/ELF
Peter Smith d0cdc5ddd7 [LLD][ELF][AArch64] Add AArch64 short range thunk support
The AArch64 branch immediate instruction has a 128MiB range. This
makes it suitable for use a short range thunk in the same way as
short thunks are implemented in Arm and PPC. This patch adds
support for short range thunks to AArch64.

Adding short range thunk support should mean that OutputSections
can grow to nearly 256 MiB in size without needing long-range
indirect branches.

Differential Revision: https://reviews.llvm.org/D148701
2023-04-24 13:48:22 +01:00
..
Arch [lld][AArch64] Add BTI landing pad to PLT when it is accessed by a range extension thunk. 2023-04-23 23:17:02 +02:00
AArch64ErrataFix.cpp [ELF] Add final to some SyntheticSection derived classes 2022-12-03 18:11:34 +00:00
AArch64ErrataFix.h [lld/elf] Use C++17 nested namespace syntax in most places 2022-08-10 16:47:30 -04:00
ARMErrataFix.cpp [ELF] Add final to some SyntheticSection derived classes 2022-12-03 18:11:34 +00:00
ARMErrataFix.h [lld/elf] Use C++17 nested namespace syntax in most places 2022-08-10 16:47:30 -04:00
CallGraphSort.cpp [ELF] CallGraphSort: replace vector<int> with unique_ptr<int[]>. NFC 2022-07-29 00:59:48 -07:00
CallGraphSort.h [lld/elf] Use C++17 nested namespace syntax in most places 2022-08-10 16:47:30 -04:00
CMakeLists.txt [Support] Move TargetParsers to new component 2022-12-20 11:05:50 +00:00
Config.h [lld][RISCV] Implement GP relaxation for R_RISCV_HI20/R_RISCV_LO12_I/R_RISCV_LO12_S. 2023-04-13 10:52:15 -07:00
Driver.cpp [ELF] Cap parallel::strategy to 16 threads when --threads= is unspecified 2023-04-20 12:17:26 -07:00
Driver.h [OptTable] Precompute OptTable prefixes union table through tablegen 2023-01-12 12:08:06 +01:00
DriverUtils.cpp [NFC][TargetParser] Replace uses of llvm/Support/Host.h 2023-02-10 09:59:46 +00:00
DWARF.cpp [DebugInfo] llvm::Optional => std::optional 2022-12-05 00:09:22 +00:00
DWARF.h [lld] Change Optional to std::optional 2022-11-27 17:25:34 -08:00
EhFrame.cpp [ELF] Change rawData to content() and data() to contentMaybeDecompress() 2022-11-20 22:43:22 +00:00
EhFrame.h [lld/elf] Use C++17 nested namespace syntax in most places 2022-08-10 16:47:30 -04:00
ICF.cpp [ELF] --icf: don't fold a section without relocation and a section with relocations for SHT_REL 2023-02-22 23:34:49 -08:00
ICF.h [lld/elf] Use C++17 nested namespace syntax in most places 2022-08-10 16:47:30 -04:00
InputFiles.cpp Use llvm::count{lr}_{zero,one} (NFC) 2023-01-28 12:41:20 -08:00
InputFiles.h [lld][ELF] Remove unused enum value. NFC 2023-03-06 16:06:40 -08:00
InputSection.cpp [RISCV] Replace RISCV -> RISC-V in comments. NFC 2023-03-27 09:50:17 -07:00
InputSection.h Move from llvm::makeArrayRef to ArrayRef deduction guides - last part 2023-01-10 11:47:43 +01:00
LinkerScript.cpp [ELF] Add REVERSE input section description keyword 2023-03-07 12:44:02 -05:00
LinkerScript.h [ELF] Change most llvm::Optional to std::optional 2022-11-26 19:19:15 -08:00
LTO.cpp [lld] Support separate native object file path in --thinlto-prefix-replace 2023-04-04 11:24:51 -07:00
LTO.h [lld/elf] Use C++17 nested namespace syntax in most places 2022-08-10 16:47:30 -04:00
MapFile.cpp [NFC] Optimize vector usage in lld 2023-01-26 20:31:42 -05:00
MapFile.h [lld/elf] Use C++17 nested namespace syntax in most places 2022-08-10 16:47:30 -04:00
MarkLive.cpp [ELF] Change rawData to content() and data() to contentMaybeDecompress() 2022-11-20 22:43:22 +00:00
MarkLive.h [lld/elf] Use C++17 nested namespace syntax in most places 2022-08-10 16:47:30 -04:00
Options.td [lld][RISCV] Implement GP relaxation for R_RISCV_HI20/R_RISCV_LO12_I/R_RISCV_LO12_S. 2023-04-13 10:52:15 -07:00
OutputSections.cpp [NFC] Optimize vector usage in lld 2023-01-26 20:31:42 -05:00
OutputSections.h [ELF] Change most llvm::Optional to std::optional 2022-11-26 19:19:15 -08:00
README.md
Relocations.cpp [ELF] Add single quotes around out of range errors 2023-03-03 12:48:16 -08:00
Relocations.h [ELF] Move scanRelocations into Relocations.cpp. NFC 2022-09-04 21:31:18 -07:00
ScriptLexer.cpp [ELF] Support -= *= /= <<= >>= &= |= in symbol assignments 2022-06-25 22:22:59 -07:00
ScriptLexer.h [lld/elf] Use C++17 nested namespace syntax in most places 2022-08-10 16:47:30 -04:00
ScriptParser.cpp [lld][ARM][2/3]Big Endian support - Word invariant support 2023-03-29 10:21:00 +01:00
ScriptParser.h [lld/elf] Use C++17 nested namespace syntax in most places 2022-08-10 16:47:30 -04:00
Symbols.cpp [lld][RISCV] Implement GP relaxation for R_RISCV_HI20/R_RISCV_LO12_I/R_RISCV_LO12_S. 2023-04-13 10:52:15 -07:00
Symbols.h [lld][AArch64] Add BTI landing pad to PLT when it is accessed by a range extension thunk. 2023-04-23 23:17:02 +02:00
SymbolTable.cpp [lld][nfc] Remove lld::demangle() (partial revert of D116279) 2022-10-14 15:28:47 -04:00
SymbolTable.h [ELF] Reword symMap/symVector comment. NFC 2023-02-08 10:50:44 -08:00
SyntheticSections.cpp [LLD][ARM] Handle .ARM.exidx sections at non-zero output sec offset 2023-04-14 10:09:46 +01:00
SyntheticSections.h Use llvm::count{lr}_{zero,one} (NFC) 2023-01-28 12:41:20 -08:00
Target.cpp [ELF] Add InputSectionBase::{addRelocs,relocs} and GotSection::addConstant to add/access relocations 2022-11-21 04:12:03 +00:00
Target.h [ELF] Merge SHT_RISCV_ATTRIBUTES sections 2022-12-08 09:53:40 +00:00
Thunks.cpp [LLD][ELF][AArch64] Add AArch64 short range thunk support 2023-04-24 13:48:22 +01:00
Thunks.h [ELF][PPC64] Actually implement --no-power10-stubs 2023-02-27 16:19:13 -08:00
Writer.cpp [LLD][ARM] Handle .ARM.exidx sections at non-zero output sec offset 2023-04-14 10:09:46 +01:00
Writer.h [lld/elf] Use C++17 nested namespace syntax in most places 2022-08-10 16:47:30 -04:00

See docs/NewLLD.rst