llvm-capstone/lld
Nico Weber 04e8d0b62d [lld/mac] Implement support for section$start and section$ end symbols
With this, libclang_rt.profile_osx.a can be linked, that is coverage
and PGO-instrumented builds should now work with lld.

section$start and section$end symbols can create non-existing sections.
They're also undefined symbols that are only magic if there isn't a
regular symbol with their name, which means the need to be handled
in treatUndefined() instead of just looping over all existing
sections and adding start and end symbols like the ELF port does.

To represent the actual symbols, this uses absolute symbols that
get their value updated once an output section is layed out.

segment$start and segment$end are still missing for now, but they produce a
nicer error message after this patch.

Main part of PR50760.

Differential Revision: https://reviews.llvm.org/D106629
2021-07-23 16:01:09 -04:00
..
cmake/modules [cmake] Add support for multiple distributions 2021-05-12 11:13:18 -07:00
COFF [LLD] [COFF] Make -export-all-symbols work as intended for EXEs 2021-07-22 23:34:03 +03:00
Common [lld] Rename StringRef _lower() method calls to _insensitive() 2021-06-25 00:22:01 +03:00
docs [lld][WebAssembly] Add new --import-undefined option 2021-06-17 11:44:21 -07:00
ELF [ELF] --gc-sections: allow GC on reserved sections in a group 2021-07-22 17:09:23 -07:00
include/lld [WebAssembly] Rename event to tag 2021-06-17 20:34:19 -07:00
lib [OptTable] Rename PrintHelp to printHelp 2021-06-24 14:47:03 -07:00
MachO [lld/mac] Implement support for section$start and section$ end symbols 2021-07-23 16:01:09 -04:00
MinGW [LLD] [COFF] Fix up missing stdcall decorations in MinGW mode 2021-07-02 09:49:14 +03:00
test [lld/mac] Implement support for section$start and section$ end symbols 2021-07-23 16:01:09 -04:00
tools/lld [lld] Rename StringRef _lower() method calls to _insensitive() 2021-06-25 00:22:01 +03:00
unittests Use INTERFACE_COMPILE_OPTIONS to disable -Wsuggest-override for any target that links to gtest 2020-07-27 08:37:01 -07:00
utils
wasm Reland: "[WebAssembly] Deduplicate imports of the same module name, field name, and type" 2021-07-22 14:16:05 -07: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 Fix lld macho standalone build by including llvm/Config/llvm-config.h instead of llvm/Config/config.h 2021-05-19 11:15:07 -04: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

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.