llvm-project/lld
Andrew Ng 4d54a4b4f7 [LLD] Fix findOrphanPos to consistently ignore "dead" OutputSection's
When findOrphanPos does the reverse search to find the OutputSection
preceding the orphan's insertion point, look for a live OutputSection
and ignore "dead" OutputSection's. This matches the behaviour of the
forward search performed earlier in this function.

Added test which without the above fix fails as a result of an orphan
executable section being incorrectly placed in a non-executable segment.

Differential Review: https://reviews.llvm.org/D38690

llvm-svn: 315292
2017-10-10 10:05:52 +00:00
..
COFF [COFF] Don't error out on relocations to discarded sections in .eh_frame 2017-10-10 06:05:29 +00:00
Common lldCommon depends on intrinsics_gen, due to llvm/CodeGen/CommandFlags.h 2017-10-03 04:18:46 +00:00
ELF [LLD] Fix findOrphanPos to consistently ignore "dead" OutputSection's 2017-10-10 10:05:52 +00:00
MinGW Fix another build breakage. 2017-10-02 22:05:46 +00:00
cmake/modules [lld][cmake] Fix BUILD_SHARED_LIBS installation 2017-01-24 10:41:02 +00:00
docs Move new lld's code to Common subdirectory. 2017-10-02 21:00:41 +00:00
include/lld Move new lld's code to Common subdirectory. 2017-10-02 21:00:41 +00:00
lib Build fix: don't try to link in lldConfig 2017-10-02 23:09:37 +00:00
test [LLD] Fix findOrphanPos to consistently ignore "dead" OutputSection's 2017-10-10 10:05:52 +00:00
tools/lld Move new lld's code to Common subdirectory. 2017-10-02 21:00:41 +00:00
unittests Move new lld's code to Common subdirectory. 2017-10-02 21:00:41 +00:00
.arcconfig Upgrade all the .arcconfigs to https. 2016-07-14 13:15:37 +00:00
.clang-format
.gitignore
CMakeLists.txt Move new lld's code to Common subdirectory. 2017-10-02 21:00:41 +00:00
CODE_OWNERS.TXT
LICENSE.TXT Update copyright year to 2016. 2016-03-30 22:40:59 +00:00
README.md Add a note on where to get a lld benchmark. 2017-10-03 23:44:24 +00:00

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 4818e8d38961503a04a73597b0da1242c39efc9df2ceb6dfca4ed36845239863.