llvm-capstone/lld
Fangrui Song 7afffb54ea [ELF] Don't shrink RelrSection
Fixes PR43214.

The size of SHT_RELR may oscillate between 2 numbers (see D53003 for a
similar --pack-dyn-relocs=android issue). This can happen if the shrink
of SHT_RELR causes it to take more words to encode relocation offsets
(this can happen with thunks or segments with overlapping p_offset
ranges), and the expansion of SHT_RELR causes it to take fewer words to
encode relocation offsets.

To avoid the issue, add padding 1s to the end of the relocation section
if its size would decrease. Trailing 1s do not decode to more relocations.

Reviewed By: peter.smith

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

llvm-svn: 370923
2019-09-04 16:27:35 +00:00
..
cmake/modules
COFF reland "[lld-link] implement -start-lib and -end-lib" 2019-09-03 20:32:16 +00:00
Common [ELF] For VS-style diagnostics, prefer printing full paths in the header. 2019-08-09 08:29:03 +00:00
docs ld.lld.1: explain long options may use one or two dashes 2019-09-03 17:58:30 +00:00
ELF [ELF] Don't shrink RelrSection 2019-09-04 16:27:35 +00:00
include/lld [LLD] Migrate llvm::make_unique to std::make_unique 2019-08-14 22:28:17 +00:00
lib [mach-o] Extend LC_DATA_IN_CODE support to x86_64 2019-08-28 10:11:50 +00:00
MinGW [MinGW] Correct handling different forms of a few options 2019-08-14 09:35:44 +00:00
test [ELF] Don't shrink RelrSection 2019-09-04 16:27:35 +00:00
tools/lld Fix build breakage on Darwin. 2019-07-11 06:12:18 +00:00
unittests
utils
wasm [lld][WebAssembly] Fix spurious signature mismatch warnings 2019-08-30 19:50:59 +00:00
.arcconfig
.clang-format
.gitignore
CMakeLists.txt [CMake] Don't set Python_ADDITIONAL_VERSIONS 2019-07-18 15:17:42 +00:00
CODE_OWNERS.TXT
LICENSE.TXT
README.md

LLVM Linker (lld)

This directory and its subdirectories contain source code for the LLVM Linker, a modular cross platform linker which is built as part of the LLVM compiler infrastructure project.

lld is open source software. You may freely distribute it under the terms of the license agreement found in LICENSE.txt.

Benchmarking

In order to make sure various developers can evaluate patches over the same tests, we create a collection of self contained programs.

It is hosted at https://s3-us-west-2.amazonaws.com/linker-tests/lld-speed-test.tar.xz

The current sha256 is 10eec685463d5a8bbf08d77f4ca96282161d396c65bd97dc99dbde644a31610f.