|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3 |
|
| #
9c29291d |
| 22-Aug-2022 |
Martin Storsjö <[email protected]> |
[LLD] [COFF] Fix export directives in object files from -includeoptional
When an object file contains an export directive, we normally do some amount of deferred processing of them at the end of the
[LLD] [COFF] Fix export directives in object files from -includeoptional
When an object file contains an export directive, we normally do some amount of deferred processing of them at the end of the linking process. The -includeoptional option was handled after this, and any object files (defining new exports) weren't handled.
Move the handling of the -includeoptional into the same late loop which does the fixups for e.g. export directives.
Ideally, this would also be done for object files that are pulled in by the wrap options, and for mingw autoimports, but those changes require more modifications, to make them safe for potentially being executed multiple times.
This fixes https://github.com/llvm/llvm-project/issues/57243.
Differential Revision: https://reviews.llvm.org/D132361
(cherry picked from commit af39e6f6fc905f3c067f022fb44136779d2f9c84)
show more ...
|
|
Revision tags: llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init |
|
| #
3b0219ad |
| 17-Jul-2022 |
Martin Storsjö <[email protected]> |
[LLD] [COFF] Add support for a new, mingw specific embedded directive -exclude-symbols:
This is an entirely new embedded directive - extending the GNU ld command line option --exclude-symbols to be
[LLD] [COFF] Add support for a new, mingw specific embedded directive -exclude-symbols:
This is an entirely new embedded directive - extending the GNU ld command line option --exclude-symbols to be usable in embedded directives too.
(GNU ld.bfd also got support for the same new directive, currently in the latest git version, after the 2.39 branch.)
This works as an inverse to the regular embedded dllexport directives, for cases when autoexport of all eligible symbols is performed.
Differential Revision: https://reviews.llvm.org/D130120
(cherry picked from commit 5d513ef6cf4646e64bbb1d5f8610afd530964588)
show more ...
|
| #
871a78ee |
| 18-Jul-2022 |
Martin Storsjö <[email protected]> |
[LLD] [MinGW] Implement the --exclude-symbols option
This adds support for the existing GNU ld command line option, which allows excluding individual symbols from autoexport (when linking a DLL and
[LLD] [MinGW] Implement the --exclude-symbols option
This adds support for the existing GNU ld command line option, which allows excluding individual symbols from autoexport (when linking a DLL and no symbols are marked explicitly as dllexported).
Differential Revision: https://reviews.llvm.org/D130118
(cherry picked from commit d1da6469f9ea9b078276ee2e098241f0440468be)
show more ...
|
| #
fd9962e7 |
| 11-Jul-2022 |
Alex Brachet <[email protected]> |
[COFF] Add vfsoverlay flag
This patch adds a new flag vfsoverlay similar to clang’s ivfsoverlay flag. This is helpful when compiling on case sensitive file systems when cross compiling to Windows. P
[COFF] Add vfsoverlay flag
This patch adds a new flag vfsoverlay similar to clang’s ivfsoverlay flag. This is helpful when compiling on case sensitive file systems when cross compiling to Windows. Particularly when compiling third party code containing \#pragma comment(“linker”, “/defaultlib:...”) which can’t be easily changed.
Differential Revision: https://reviews.llvm.org/D125800
show more ...
|
|
Revision tags: llvmorg-14.0.6 |
|
| #
ed8fceaa |
| 21-Jun-2022 |
Kazu Hirata <[email protected]> |
Don't use Optional::getValue (NFC)
|
| #
5413bf1b |
| 20-Jun-2022 |
Kazu Hirata <[email protected]> |
Don't use Optional::hasValue (NFC)
|
| #
9db61c3f |
| 14-Jun-2022 |
Pengxuan Zheng <[email protected]> |
[LLD][COFF] Convert file name to lowercase when inserting it into visitedLibs
It seems to be a bug in `LinkerDriver::findFile`, the file name is not converted to lowercase when being inserted into `
[LLD][COFF] Convert file name to lowercase when inserting it into visitedLibs
It seems to be a bug in `LinkerDriver::findFile`, the file name is not converted to lowercase when being inserted into `visitedLibs`. This is the only exception in the file and all other places always convert file names to lowercase when inserting them into `visitedLibs` (or `visitedFiles`).
Reviewed By: thieta, hans
Differential Revision: https://reviews.llvm.org/D127709
show more ...
|
|
Revision tags: llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2 |
|
| #
837d16fb |
| 13-Apr-2022 |
Tobias Hieta <[email protected]> |
[NFC] Simplify /noimplib argument logic
|
| #
eb4eef9e |
| 12-Apr-2022 |
Tobias Hieta <[email protected]> |
[LLD][COFF] Add support for /noimplib
Mostly for compatibility reasons with link.exe this flag makes sure we don't write a implib - not even when /implib is also passed, that's how link.exe works.
[LLD][COFF] Add support for /noimplib
Mostly for compatibility reasons with link.exe this flag makes sure we don't write a implib - not even when /implib is also passed, that's how link.exe works.
Reviewed By: mstorsjo
Differential Revision: https://reviews.llvm.org/D123591
show more ...
|
|
Revision tags: llvmorg-14.0.1 |
|
| #
b8f50abd |
| 06-Apr-2022 |
Nikita Popov <[email protected]> |
[lld] Remove support for legacy pass manager
This removes options for performing LTO with the legacy pass manager in LLD. Options that explicitly enable the new pass manager are retained as no-ops.
[lld] Remove support for legacy pass manager
This removes options for performing LTO with the legacy pass manager in LLD. Options that explicitly enable the new pass manager are retained as no-ops.
Differential Revision: https://reviews.llvm.org/D123219
show more ...
|
| #
ed4e6e03 |
| 05-Apr-2022 |
Nikita Popov <[email protected]> |
[cmake] Remove LLVM_ENABLE_NEW_PASS_MANAGER cmake option
Or rather, error out if it is set to something other than ON. This removes the ability to enable the legacy pass manager by default, but does
[cmake] Remove LLVM_ENABLE_NEW_PASS_MANAGER cmake option
Or rather, error out if it is set to something other than ON. This removes the ability to enable the legacy pass manager by default, but does not remove the ability to explicitly enable it through various flags like -flegacy-pass-manager or -enable-new-pm=0.
I checked, and our test suite definitely doesn't pass with LLVM_ENABLE_NEW_PASS_MANAGER=OFF anymore.
Differential Revision: https://reviews.llvm.org/D123126
show more ...
|
| #
c37accf0 |
| 26-Mar-2022 |
Fangrui Song <[email protected]> |
[Option] Avoid using the default argument for the 3-argument hasFlag. NFC
The default argument true is error-prone: I think many would think the default is false.
|
|
Revision tags: llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3 |
|
| #
f06d487d |
| 09-Mar-2022 |
serge-sans-paille <[email protected]> |
Cleanup includes: WindowsDriver & WindowsManifest
Discourse thread: https://discourse.llvm.org/t/include-what-you-use-include-cleanup Differential Revision: https://reviews.llvm.org/D121330
|
|
Revision tags: llvmorg-14.0.0-rc2 |
|
| #
c5fb05f6 |
| 16-Feb-2022 |
Peter Kasting <[email protected]> |
Reland: Make lld-link work in a non-MSVC shell, add /winsysroot:
This relands 73e585e44d (and 0574b5fc657451), with a fix for the failing test (by using Optional<StringRef>s instead of making String
Reland: Make lld-link work in a non-MSVC shell, add /winsysroot:
This relands 73e585e44d (and 0574b5fc657451), with a fix for the failing test (by using Optional<StringRef>s instead of making StringRef::empty() mean absence of value).
Differential Revision: https://reviews.llvm.org/D118070
show more ...
|
| #
437d4e01 |
| 12-Feb-2022 |
Douglas Yung <[email protected]> |
Revert "try to fix windows build after 73e585e44d" and Revert "Reland "[lld/coff] Make lld-link work in a non-MSVC shell, add /winsysroot:""
This reverts commit 0574b5fc657451c9d13d3f6d8fe14ea15c23a
Revert "try to fix windows build after 73e585e44d" and Revert "Reland "[lld/coff] Make lld-link work in a non-MSVC shell, add /winsysroot:""
This reverts commit 0574b5fc657451c9d13d3f6d8fe14ea15c23a681 and 73e585e44d68cf77e2e3274e98c9615156a7d909.
This change is causing the test Driver/cl-options.c to fail on Windows buildbots. https://lab.llvm.org/staging/#/builders/204/builds/1343
show more ...
|
| #
73e585e4 |
| 11-Feb-2022 |
Nico Weber <[email protected]> |
Reland "[lld/coff] Make lld-link work in a non-MSVC shell, add /winsysroot:"
This relands commit b3b2538df100ec, except that the new files in Support are instead in a new library WindowsDriver.
|
| #
baac665a |
| 11-Feb-2022 |
Adrian Prantl <[email protected]> |
Revert "[lld/coff] Make lld-link work in a non-MSVC shell, add /winsysroot:"
This reverts commit b3b2538df100ec7f6587b0ee70819a3c8ee2c27e, it introduced a cycklic module depenency that broke the -DL
Revert "[lld/coff] Make lld-link work in a non-MSVC shell, add /winsysroot:"
This reverts commit b3b2538df100ec7f6587b0ee70819a3c8ee2c27e, it introduced a cycklic module depenency that broke the -DLLVM_ENABLE_MODULES=1 build.
show more ...
|
| #
b3b2538d |
| 11-Feb-2022 |
Peter Kasting <[email protected]> |
[lld/coff] Make lld-link work in a non-MSVC shell, add /winsysroot:
Makes lld-link work in a non-MSVC shell by autodetecting MSVC toolchain. Also adds support for /winsysroot and a few other switche
[lld/coff] Make lld-link work in a non-MSVC shell, add /winsysroot:
Makes lld-link work in a non-MSVC shell by autodetecting MSVC toolchain. Also adds support for /winsysroot and a few other switches.
All this is done by refactoring to share code with clang-cl's existing support for the same.
Differential Revision: https://reviews.llvm.org/D118070
show more ...
|
|
Revision tags: llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3 |
|
| #
83d59e05 |
| 20-Jan-2022 |
Alexandre Ganea <[email protected]> |
Re-land [LLD] Remove global state in lldCommon
Move all variables at file-scope or function-static-scope into a hosting structure (lld::CommonLinkerContext) that lives at lldMain()-scope. Drivers wi
Re-land [LLD] Remove global state in lldCommon
Move all variables at file-scope or function-static-scope into a hosting structure (lld::CommonLinkerContext) that lives at lldMain()-scope. Drivers will inherit from this structure and add their own global state, in the same way as for the existing COFFLinkerContext.
See discussion in https://lists.llvm.org/pipermail/llvm-dev/2021-June/151184.html
The previous land f860fe362282ed69b9d4503a20e5d20b9a041189 caused issues in https://lab.llvm.org/buildbot/#/builders/123/builds/8383, fixed by 22ee510dac9440a74b2e5b3fe3ff13ccdbf55af3.
Differential Revision: https://reviews.llvm.org/D108850
show more ...
|
|
Revision tags: llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1 |
|
| #
d649faff |
| 07-Nov-2021 |
Ayke van Laethem <[email protected]> |
[LLD][COFF] Support GNU style == aliases
D46245 added support for this in llvm-libtool, but while lld-link can also create .lib files from .def files it didn't support aliases.
I compared the Input
[LLD][COFF] Support GNU style == aliases
D46245 added support for this in llvm-libtool, but while lld-link can also create .lib files from .def files it didn't support aliases.
I compared the Inputs/library.def test against the output from llvm-libtool and it matches, except for the fact that lld-link reorders functions for some reason.
I have also verified that this fixes a bug I was running into while trying to compile .def files to .lib files in MinGW-w64 (using lld-link instead of llvm-libtool).
Differential Revision: https://reviews.llvm.org/D113365
show more ...
|
| #
e6b15394 |
| 16-Jan-2022 |
Alexandre Ganea <[email protected]> |
Revert [LLD] Remove global state in lldCommon
It seems to be causing issues on https://lab.llvm.org/buildbot/#/builders/123/builds/8383
|
| #
f860fe36 |
| 16-Jan-2022 |
Alexandre Ganea <[email protected]> |
[LLD] Remove global state in lldCommon
Move all variables at file-scope or function-static-scope into a hosting structure (lld::CommonLinkerContext) that lives at lldMain()-scope. Drivers will inher
[LLD] Remove global state in lldCommon
Move all variables at file-scope or function-static-scope into a hosting structure (lld::CommonLinkerContext) that lives at lldMain()-scope. Drivers will inherit from this structure and add their own global state, in the same way as for the existing COFFLinkerContext.
See discussion in https://lists.llvm.org/pipermail/llvm-dev/2021-June/151184.html
Differential Revision: https://reviews.llvm.org/D108850
show more ...
|
| #
bfd00ae3 |
| 12-Jan-2022 |
Fangrui Song <[email protected]> |
[lld-link] Change config and driver to unique_ptr
Similar to D116143. My x86-64 `lld` is ~5KiB smaller.
Reviewed By: mstorsjo
Differential Revision: https://reviews.llvm.org/D116996
|
| #
d496abbe |
| 04-Jan-2022 |
Fangrui Song <[email protected]> |
[lld-link] Replace LazyObjFile with lazy ObjFile/BitcodeFile
Similar to ELF 3a5fb57393c3bc77be9e7afc2ec9d4ec3c9bbf70.
* previously when a LazyObjFile was extracted, a new ObjFile/BitcodeFile was cr
[lld-link] Replace LazyObjFile with lazy ObjFile/BitcodeFile
Similar to ELF 3a5fb57393c3bc77be9e7afc2ec9d4ec3c9bbf70.
* previously when a LazyObjFile was extracted, a new ObjFile/BitcodeFile was created; now the file is reused, just with `lazy` cleared * avoid the confusing transfer of `symbols` from LazyObjFile to the new file * simpler code, smaller executable (5200+ bytes smaller on x86-64) * make eager parsing feasible (for parallel section/symbol table initialization)
Reviewed By: aganea, rnk
Differential Revision: https://reviews.llvm.org/D116434
show more ...
|
| #
62e48ed1 |
| 25-Dec-2021 |
Kazu Hirata <[email protected]> |
Use isa instead of dyn_cast (NFC)
|