llvm-project/lld
Fangrui Song 25863cc512 [ELF] .note.gnu.property: error for invalid pr_datasize
A n_type==NT_GNU_PROPERTY_TYPE_0 note encodes a program property.
If pr_datasize is invalid, LLD may crash
(https://github.com/ClangBuiltLinux/linux/issues/1141)

This patch adds some error checking, supports big-endian, and add some tests
for invalid n_descsz.

Differential Revision: https://reviews.llvm.org/D86422
2020-08-25 08:05:39 -07:00
..
COFF [LLD][COFF] Reset outputSections for successive runs 2020-08-22 23:08:43 +03:00
Common lld: link libatomic if needed for Timer 2020-08-21 17:47:55 -07:00
ELF [ELF] .note.gnu.property: error for invalid pr_datasize 2020-08-25 08:05:39 -07:00
MachO [lld-macho] Emit load command LC_BUILD_VERSION 2020-08-14 12:36:43 -07:00
MinGW [LLD] [MinGW] Implement the --no-seh flag 2020-07-28 21:08:37 +03:00
cmake/modules lld: Let find_package(LLD) work 2020-05-14 09:59:53 -04:00
docs [ELF] Keep st_type for symbol assignment 2020-08-20 16:05:27 -07:00
include/lld [lld-macho] Implement -headerpad 2020-07-30 14:29:31 -07:00
lib [CMake] Make `intrinsics_gen` dependency unconditional. 2020-07-17 16:43:17 -07:00
test [ELF] .note.gnu.property: error for invalid pr_datasize 2020-08-25 08:05:39 -07:00
tools/lld Reland D78837 [lld] Remove special cases from default ld driver mode. 2020-04-29 14:45:44 -07: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 [lld][WebAssembly] Emit all return types of multivalue functions 2020-08-12 13:14:15 -07:00
.clang-format
.clang-tidy [lld] Add .clang-tidy to customize readability-identifier-naming.{Member,Parameter,Variable}Case => camelBack 2020-03-09 08:26:41 -07:00
.gitignore
CMakeLists.txt lld: link libatomic if needed for Timer 2020-08-21 17:47:55 -07:00
CODE_OWNERS.TXT
LICENSE.TXT
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.

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.