llvm-project/lld
Aiden Grossman f741815ddb [lld][ELF] Fix lazy ThinLTO index writing in thin archives
Currently when the --thinlto-emit-index-files is used with LLD and a
thin archive is passed containing references to object files to link
against where the object files are in a different folder than the thin
archive and some of the archives aren't linked against (ie stay lazy),
the empty index file writer ends up trying to write to a path that
doesn't exist. This patch changes the behavior of that function to use
the path of the obj member of the BitcodeFile object rather than just
the path of the BitcodeFile object itself, which matches the behavior of
the default (non-lazy) case.

Fixes #57963

Regression test added.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D135014
2022-10-05 17:12:15 +00:00
..
COFF [lld/COFF] Ignore `/ASSEMBLYDEBUG[:NONE]` and `/EMITPOGOPHASEINFO` 2022-10-03 20:38:36 +02:00
Common [lld] Change vector to SmallVector. NFC 2022-07-30 18:11:21 -07:00
ELF [lld][ELF] Fix lazy ThinLTO index writing in thin archives 2022-10-05 17:12:15 +00:00
MachO [lld-macho] Mark aliased symbols as noDeadStrip 2022-10-04 14:53:53 -07:00
MinGW [LLD][MinGW] Add --[no-]guard-cf and --[no-]guard-longjmp 2022-09-09 09:55:40 +03:00
cmake/modules [CMake] Avoid `LLVM_BINARY_DIR` when other more specific variable are better-suited, part 2 2022-09-14 15:48:58 -04:00
docs [lld-macho] Do not error out on dead stripped duplicate symbols 2022-09-30 15:09:27 -07:00
include/lld/Common [ELF] Add makeThreadLocal/makeThreadLocalN and remove InputFile::localSymStorage 2022-08-04 11:09:40 -07:00
test [lld][ELF] Fix lazy ThinLTO index writing in thin archives 2022-10-05 17:12:15 +00:00
tools/lld [LLD][ELF] Add FORCE_LLD_DIAGNOSTICS_CRASH to force LLD to crash 2022-07-05 09:43:09 +01:00
utils
wasm [lld][WebAssemlby] Improve support for -L / -l and add testing 2022-10-03 16:53:30 -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 Revert "[cmake] Use `CMAKE_INSTALL_LIBDIR` too" 2022-08-18 22:46:32 -04: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.