1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00
llvm-mirror/tools
Peter Collingbourne 002558db01 ELF: Add support for emitting dynamic relocations in the Android relocation packing format.
The Android relocation packing format is a more compact
format for dynamic relocations in executables and DSOs
that is based on delta encoding and SLEBs. An overview
of the format can be found in the Android source code:
https://android.googlesource.com/platform/bionic/+/refs/heads/master/tools/relocation_packer/src/delta_encoder.h

This patch implements relocation packing using that format.

This implementation uses a more intelligent algorithm for compressing
relative relocations than Android's own relocation packer. As a
result it can generally create smaller relocation sections than
that packer. If I link Chromium for Android targeting ARM32 I get a
.rel.dyn of size 174693 bytes, as compared to 371832 bytes with gold
and the Android packer.

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

llvm-svn: 316775
2017-10-27 17:49:40 +00:00
..
bugpoint [SimplifyCFG] put the optional assumption cache pointer in the options struct; NFCI 2017-10-04 20:26:25 +00:00
bugpoint-passes
dsymutil [dsymutil] Check AttrInfo.Name validity before using it 2017-10-26 17:31:33 +00:00
gold Enabling new pass manager in LTO (and thinLTO) link step. 2017-10-05 01:48:42 +00:00
llc Revert "TargetMachine: Merge TargetMachine and LLVMTargetMachine" 2017-10-12 22:57:28 +00:00
lli [ORC] Refactor OrcRemoteTarget code to expose its RPC API, reduce 2017-09-04 20:54:46 +00:00
llvm-ar Convert the archive writer to use Error. 2017-09-21 23:13:36 +00:00
llvm-as Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
llvm-as-fuzzer cmake: Invent add_llvm_fuzzer to set up fuzzer targets 2017-08-31 00:36:33 +00:00
llvm-bcanalyzer
llvm-c-test [LLVM-C] Publicly expose getters of MetadataType, TokenType 2017-10-27 11:51:40 +00:00
llvm-cat [Bitcode] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-09-07 23:28:24 +00:00
llvm-cfi-verify Add FileVerifier::isCFIProtected(). 2017-10-25 21:21:16 +00:00
llvm-config
llvm-cov [llvm-cov] Use a stable sort on sub-views 2017-10-24 20:03:37 +00:00
llvm-cvtres
llvm-cxxdump
llvm-cxxfilt
llvm-demangle-fuzzer [llvm-demangle-fuzzer] Add a fuzz target for ItaniumDemangler. 2017-10-13 17:35:37 +00:00
llvm-diff
llvm-dis [Support] Rename tool_output_file to ToolOutputFile, NFC 2017-09-23 01:03:17 +00:00
llvm-dwarfdump Re-land "[dwarfdump] Add -lookup option" 2017-10-25 21:56:41 +00:00
llvm-dwp [MC] Have MCObjectStreamer take its MCAsmBackend argument via unique_ptr. 2017-10-11 23:34:47 +00:00
llvm-extract [Support] Rename tool_output_file to ToolOutputFile, NFC 2017-09-23 01:03:17 +00:00
llvm-go
llvm-isel-fuzzer fix llvm-isel-fuzzer: LLVMFuzzerTestOneInput should never return non-zero (according to the contract) 2017-10-16 20:36:57 +00:00
llvm-jitlistener
llvm-link [Support] Rename tool_output_file to ToolOutputFile, NFC 2017-09-23 01:03:17 +00:00
llvm-lto [Support] Rename tool_output_file to ToolOutputFile, NFC 2017-09-23 01:03:17 +00:00
llvm-lto2 LTO: Try to open cache files before renaming them. 2017-09-05 19:51:38 +00:00
llvm-mc [MC] Have MCObjectStreamer take its MCAsmBackend argument via unique_ptr. 2017-10-11 23:34:47 +00:00
llvm-mc-assemble-fuzzer [Support] Rename tool_output_file to ToolOutputFile, NFC 2017-09-23 01:03:17 +00:00
llvm-mc-disassemble-fuzzer cmake: Invent add_llvm_fuzzer to set up fuzzer targets 2017-08-31 00:36:33 +00:00
llvm-mcmarkup
llvm-modextract [Support] Rename tool_output_file to ToolOutputFile, NFC 2017-09-23 01:03:17 +00:00
llvm-mt llvm-mt: Merge manifest namespaces. 2017-08-19 00:37:41 +00:00
llvm-nm Revert "[ADT] Make Twine's copy constructor private." 2017-10-11 23:54:34 +00:00
llvm-objcopy Revert "[ADT] Make Twine's copy constructor private." 2017-10-11 23:54:34 +00:00
llvm-objdump Untabify. 2017-10-18 13:31:28 +00:00
llvm-opt-report Don't call exit from cl::PrintHelpMessage. 2017-09-07 23:30:48 +00:00
llvm-pdbutil [PDB] Handle an empty globals hash table with no buckets 2017-10-27 00:45:51 +00:00
llvm-profdata Bring r314809 back. 2017-10-04 20:27:01 +00:00
llvm-rc Fix incorrect integer literal suffix. 2017-10-11 20:23:38 +00:00
llvm-readobj ELF: Add support for emitting dynamic relocations in the Android relocation packing format. 2017-10-27 17:49:40 +00:00
llvm-rtdyld
llvm-shlib
llvm-size
llvm-special-case-list-fuzzer [llvm-special-case-list-fuzzer] Add fuzz target. 2017-10-17 17:43:34 +00:00
llvm-split [Support] Rename tool_output_file to ToolOutputFile, NFC 2017-09-23 01:03:17 +00:00
llvm-stress [Support] Rename tool_output_file to ToolOutputFile, NFC 2017-09-23 01:03:17 +00:00
llvm-strings
llvm-symbolizer
llvm-xray Removing default case statement from covered switch. 2017-10-13 00:06:35 +00:00
lto This patch fixes https://bugs.llvm.org/show_bug.cgi?id=32352 2017-09-15 20:10:09 +00:00
msbuild
obj2yaml [WebAssembly] Allow each data segment to specify its own alignment 2017-09-29 16:50:08 +00:00
opt [opt] Initialize WriteBitcode pass. 2017-10-24 17:17:27 +00:00
opt-viewer [opt-viewer] Don't Decode HTML bytes for Python 2 2017-10-10 19:34:15 +00:00
sancov Add section headers to SpecialCaseLists 2017-09-25 22:11:11 +00:00
sanstats Fix broken links to the Itanium CXX ABI 2017-09-12 00:19:11 +00:00
verify-uselistorder
xcode-toolchain
yaml2obj [WebAssembly] Allow each data segment to specify its own alignment 2017-09-29 16:50:08 +00:00
CMakeLists.txt
LLVMBuild.txt Introduce the llvm-cfi-verify tool (resubmission of D37937). 2017-09-20 20:38:14 +00:00