hanchenye-llvm-project/lld
George Rimar 57286644f7 [ELF] - Optimize .eh_frame section: remove CIE if all FDEs referencing it were removed.
This patch performs little optimization for eh_frame section.
If all FDE`s that referenced CIE are removed then CIE is also removed from output. 
That can happen for example when dropping FDEs that point to dropped sections. Testcase showing that is included.
The same optimization was added to ld about 14 years ago: https://sourceware.org/ml/binutils/2001-12/msg00144.html, gold does not do that it seems.

Differential revision: http://reviews.llvm.org/D15564

llvm-svn: 256638
2015-12-30 11:40:44 +00:00
..
COFF COFF: Create an empty but valid PDF file. 2015-12-08 18:39:55 +00:00
ELF [ELF] - Optimize .eh_frame section: remove CIE if all FDEs referencing it were removed. 2015-12-30 11:40:44 +00:00
cmake/modules
docs Update documents. 2015-11-20 22:47:42 +00:00
include/lld Move parsing of LLVM options to parse() method. 2015-12-16 20:53:27 +00:00
lib Fix negDelta32 relocatable fixups for arm64 in mach-o. 2015-12-16 22:50:16 +00:00
test [ELF] - Optimize .eh_frame section: remove CIE if all FDEs referencing it were removed. 2015-12-30 11:40:44 +00:00
tools Rename ld.lld2 to ld.lld since it is the default. 2015-11-18 06:11:01 +00:00
unittests Fix DarwinLdDriverTest.cpp to pass real llvm options. 2015-12-16 21:24:46 +00:00
.arcconfig
.clang-format
.gitignore
CMakeLists.txt [CMake] Don't include the lld test directory if LLVM_INCLUDE_TESTS is Off 2015-10-01 18:17:47 +00:00
CODE_OWNERS.TXT Add initial CODE_OWNERS.TXT file 2015-07-25 00:44:37 +00:00
LICENSE.TXT Update copyright year to 2015. 2015-03-12 20:14:35 +00:00
README.md

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.