llvm-project/lld
Rui Ueyama 61d7f97000 [PECOFF] Support COMDAT associative sections.
COFF supports a feature similar to ELF's section groups. This
patch implements it.

In ELF, section groups are identified by their names, and they are
treated somewhat differently from regular symbols. In COFF, the
feature is realized in a more straightforward way. A section can
have an annotation saying "if Nth section is linked, link this
section too."

I added a new reference type, kindAssociate. If a target atom is
coalesced away, the referring atom is removed by Resolver, so that
they are treated as a group.

Differential Revision: http://reviews.llvm.org/D4028

llvm-svn: 211106
2014-06-17 16:19:33 +00:00
..
cmake/modules Add VTune as an optional external dependency and add task tracking. 2013-04-06 00:56:40 +00:00
docs Remove group-parent references. 2014-06-03 03:07:49 +00:00
include [PECOFF] Support COMDAT associative sections. 2014-06-17 16:19:33 +00:00
lib [PECOFF] Support COMDAT associative sections. 2014-06-17 16:19:33 +00:00
test [PECOFF] Support COMDAT associative sections. 2014-06-17 16:19:33 +00:00
tools Initial set of Makefiles 2014-06-04 09:54:07 +00:00
unittests Refer to error_code with an std prefix. 2014-06-12 20:42:12 +00:00
utils Refer to error_code with an std prefix. 2014-06-12 20:42:12 +00:00
.arcconfig Update Phabricator server. 2014-04-07 04:52:24 +00:00
.clang-format Add .clang-format file to ensure C++11 LLVM coding style. 2013-12-11 22:39:33 +00:00
.gitignore docs: Sketch Sphinx based docs structure. 2012-04-06 21:02:20 +00:00
CMakeLists.txt Add support for building Sphinx documentation when being built inside LLVM source tree and using CMake. 2014-04-18 21:59:05 +00:00
LICENSE.TXT Update the copyright credits -- Happy new year 2014! 2014-01-01 08:27:31 +00:00
Makefile Initial set of Makefiles 2014-06-04 09:54:07 +00:00
README.md Test commit 2012-09-14 00:00:39 +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.