llvm-capstone/lld/ELF
David Bolvansky a932cd409b [AArch64] Support execute-only LOAD segments.
Summary:
This adds an LLD flag to mark executable LOAD segments execute-only for AArch64 targets. 

In AArch64 the expectation is that code is execute-only compatible, so this just adds a linker option to enforce this.

Patch by: ivanlozano (Ivan Lozano)

Reviewers: srhines, echristo, peter.smith, eugenis, javed.absar, espindola, ruiu

Reviewed By: ruiu

Subscribers: dokyungs, emaste, arichardson, kristof.beyls, llvm-commits

Differential Revision: https://reviews.llvm.org/D49456

llvm-svn: 338271
2018-07-30 17:02:46 +00:00
..
Arch [ELF][HEXAGON] Add R_HEX_32_6_X and R_HEX_12_X 2018-07-29 11:59:38 +00:00
AArch64ErrataFix.cpp
AArch64ErrataFix.h
Bits.h
CallGraphSort.cpp [ELF] - Never use std::sort. 2018-04-24 09:55:39 +00:00
CallGraphSort.h [ELF] Add profile guided section layout 2018-04-17 23:30:05 +00:00
CMakeLists.txt Add Hexagon Support 2018-06-13 18:45:25 +00:00
Config.h [AArch64] Support execute-only LOAD segments. 2018-07-30 17:02:46 +00:00
Driver.cpp [AArch64] Support execute-only LOAD segments. 2018-07-30 17:02:46 +00:00
Driver.h [ELF] Use search paths for --version-script= 2018-07-25 21:53:18 +00:00
DriverUtils.cpp [ELF] Use search paths for --version-script= 2018-07-25 21:53:18 +00:00
EhFrame.cpp
EhFrame.h
Filesystem.cpp s/LLVM_ON_WIN32/_WIN32/, lld 2018-04-10 13:15:21 +00:00
Filesystem.h
GdbIndex.cpp
GdbIndex.h [ELF] - Remove dead code. NFC. 2018-07-02 11:10:08 +00:00
ICF.cpp Reland r338088, "ELF: Make --print-icf-sections output deterministic." 2018-07-27 19:10:44 +00:00
ICF.h
InputFiles.cpp ELF: Implement --icf=safe using address-significance tables. 2018-07-18 22:49:31 +00:00
InputFiles.h ELF: Implement --icf=safe using address-significance tables. 2018-07-18 22:49:31 +00:00
InputSection.cpp Implement framework for linking split-stack object files, and x86_64 support. 2018-07-17 23:16:02 +00:00
InputSection.h Implement framework for linking split-stack object files, and x86_64 support. 2018-07-17 23:16:02 +00:00
LinkerScript.cpp lld: add experimental support for SHT_RELR sections. 2018-07-09 20:08:55 +00:00
LinkerScript.h [ELF] - Eliminate the AssertCommand. 2018-04-25 11:16:31 +00:00
LTO.cpp Support option -plugin-opt=dwo_dir= 2018-07-16 17:55:48 +00:00
LTO.h Improve error message for -thinlto-object-suffix-replace and simplify code. 2018-05-17 18:27:12 +00:00
MapFile.cpp [ELF] - Change dyn_cast to cast. NFC. 2018-07-02 08:26:20 +00:00
MapFile.h
MarkLive.cpp [ELF] Pass callables by function_ref 2018-06-16 12:11:34 +00:00
MarkLive.h
Options.td [AArch64] Support execute-only LOAD segments. 2018-07-30 17:02:46 +00:00
OutputSections.cpp [ELF] Pass callables by function_ref 2018-06-16 12:11:34 +00:00
OutputSections.h [ELF] - Implement linker script OVERLAYs. 2018-06-27 08:08:12 +00:00
README.md
Relocations.cpp Revert r336609: Fix direct calls to __wrap_sym when it is relocated. 2018-07-18 18:24:46 +00:00
Relocations.h [PPC64] Add TLS local dynamic to local exec relaxation 2018-07-09 16:35:51 +00:00
ScriptLexer.cpp [ELF] - Remove dead code #2. 2018-07-06 13:30:50 +00:00
ScriptLexer.h
ScriptParser.cpp [ELF] Use search paths for --version-script= 2018-07-25 21:53:18 +00:00
ScriptParser.h
Symbols.cpp [ELF] - Simplify Symbol::getSize(). NFC. 2018-07-17 11:35:28 +00:00
Symbols.h [ELF][MIPS] Multi-GOT implementation 2018-06-11 07:24:31 +00:00
SymbolTable.cpp Revert r336609: Fix direct calls to __wrap_sym when it is relocated. 2018-07-18 18:24:46 +00:00
SymbolTable.h Revert r336609: Fix direct calls to __wrap_sym when it is relocated. 2018-07-18 18:24:46 +00:00
SyntheticSections.cpp [ELF] - Implement SHT_SYMTAB_SHNDX (.symtab_shndxr) section. 2018-07-30 12:39:54 +00:00
SyntheticSections.h [ELF] - Implement SHT_SYMTAB_SHNDX (.symtab_shndxr) section. 2018-07-30 12:39:54 +00:00
Target.cpp Implement framework for linking split-stack object files, and x86_64 support. 2018-07-17 23:16:02 +00:00
Target.h Implement framework for linking split-stack object files, and x86_64 support. 2018-07-17 23:16:02 +00:00
Thunks.cpp ELF Thunks: fix build error: missing 'overrides' 2018-05-06 19:50:04 +00:00
Thunks.h
Writer.cpp [AArch64] Support execute-only LOAD segments. 2018-07-30 17:02:46 +00:00
Writer.h ELF: Do not ICF two sections with different output sections. 2018-05-23 01:58:43 +00:00

See docs/NewLLD.rst