llvm-project/lld
Igor Kudrin b0ac68ccb7 [ELF] Prevent internalizing used comdat symbol
When a comdat symbol is defined in both bitcode and regular object
files, which are contained in the same archive, the linker could lose
the flag that the symbol is used in the regular object file and allow
LTO to internalize it, which led to "error: undefined symbol".

The issue was introduced in D79300.

Differential Revision: https://reviews.llvm.org/D114801
2021-12-02 12:10:06 +07:00
..
COFF [LLD] [COFF] Omit section symbols and IMAGE_SYM_CLASS_LABEL from the PE symbol table 2021-11-23 10:17:04 +02:00
Common [lld/mac] Write -v output to stderr 2021-11-02 13:59:14 -04:00
ELF [ELF] Prevent internalizing used comdat symbol 2021-12-02 12:10:06 +07:00
MachO [lld-macho] Mark dylib symbols coming from -weak_framework as weak-ref. 2021-11-30 09:54:59 -05:00
MinGW [LLD] [MinGW] Add more options for disabling flags in the executable 2021-08-12 13:27:09 +03:00
cmake/modules [cmake] Add support for multiple distributions 2021-05-12 11:13:18 -07:00
docs [ELF] --cref: If -Map is specified, print to the map file 2021-11-29 14:14:53 -08:00
include/lld [lld/mac] Write -v output to stderr 2021-11-02 13:59:14 -04:00
lib [NFC][lld] Inclusive language: change master file to merged file 2021-11-15 14:32:09 -06:00
test [ELF] Prevent internalizing used comdat symbol 2021-12-02 12:10:06 +07:00
tools/lld [lld] Enable ANSI escape code for Windows 2021-09-09 16:51:11 -07:00
unittests [CMake][gn] lldMachO=>lldMachOOld, lldMachO2=>lldMachO 2021-08-04 18:52:41 -07:00
utils
wasm [NFC] Inclusive language: Remove instances of master in URLs 2021-11-05 08:48:41 -05:00
.clang-format
.clang-tidy NFC: .clang-tidy: Inherit configs from parents to improve maintainability 2021-06-08 08:25:59 -07:00
.gitignore
CMakeLists.txt [LLVM][CMake][NFC] Resolve FIXME: Rename LLVM_CMAKE_PATH to LLVM_CMAKE_DIR throughout the project 2021-09-16 18:29:57 +02:00
CODE_OWNERS.TXT Add code owners of new MachO port 2020-09-02 19:32:12 -07:00
LICENSE.TXT
README.md [doc] Place sha256 in lld/README.md into backticks 2021-01-12 10:19:40 -08: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 10eec685463d5a8bbf08d77f4ca96282161d396c65bd97dc99dbde644a31610f.