- Aug 14, 2019
-
-
Martin Storsjö authored
Differential Revision: https://reviews.llvm.org/D66065 llvm-svn: 368815
-
- Aug 05, 2019
-
-
Martin Storsjö authored
With GNU tools, delayload is handled completely differently. (One creates a specific delayload import library using dlltool and then links against it instead of the normal import library.) Instead of requiring using -Xlink=-delayload:lib.dll, we can provide an lld specific option for this. Differential Revision: https://reviews.llvm.org/D65728 llvm-svn: 367837
-
- Jul 11, 2019
-
-
Rui Ueyama authored
This patch does the same thing as r365595 to other subdirectories, which completes the naming style change for the entire lld directory. With this, the naming style conversion is complete for lld. Differential Revision: https://reviews.llvm.org/D64473 llvm-svn: 365730
-
- Jul 05, 2019
-
-
Nico Weber authored
Since OPT_UNKNOWN args never have any values and consist only of spelling (and are never aliased), this doesn't make any difference in practice, but it's more consistent with Arg's guidance to use getAsString() for diagnostics, and it matches what clang does. Also tweak two tests to use an unknown option that contains '=' for additional coverage while here. (The new tests pass fine with the old code too though.) llvm-svn: 365200
-
Nico Weber authored
Make joined instances of JoinedOrSeparate flags point to the unaliased args, like all other arg types do This fixes an 8-year-old regression. r105763 made it so that aliases always refer to the unaliased option – but it missed the "joined" branch of JoinedOrSeparate flags. (r162231 then made the Args classes non-virtual, and r169344 moved them from clang to llvm.) Back then, there was no JoinedOrSeparate flag that was an alias, so it wasn't observable. Now /U in CLCompatOptions is a JoinedOrSeparate alias in clang, and warn_slash_u_filename incorrectly used the aliased arg id (using the unaliased one isn't really a regression since that warning checks if the undefined macro contains slash or backslash and only then emits the warning – and no valid use will pass "-Ufoo/bar" or similar). Also, lld has many JoinedOrSeparate aliases, and due to this bug it had to explicitly call `getUnaliasedOption()` in a bunch of places, even though that shouldn't be necessary by design. After this fix in Option, these calls really don't have an effect any more, so remove them. No intended behavior change. (I accidentally fixed this bug while working on PR29106 but then wondered why the warn_slash_u_filename broke. When I figured it out, I thought it would make sense to land this in a separate commit.) Differential Revision: https://reviews.llvm.org/D64156 llvm-svn: 365186
-
- Jun 14, 2019
-
-
Martin Storsjö authored
Differential Revision: https://reviews.llvm.org/D63250 llvm-svn: 363433
-
Martin Storsjö authored
This fixes PR42218. Differential Revision: https://reviews.llvm.org/D63249 llvm-svn: 363432
-
- Jun 10, 2019
-
-
Martin Storsjö authored
Also expand response files in the MinGW driver. This should fix PR42135. Differential Revision: https://reviews.llvm.org/D63024 llvm-svn: 362977
-
- Jun 08, 2019
-
-
Martin Storsjö authored
This is implemented by the lld-link option -include:, just like --require-defined. Contrary to --require-defined, the -u/--undefined option allows the symbol to remain undefined in the end. This should fix PR42121. Differential Revision: https://reviews.llvm.org/D62876 llvm-svn: 362882
-
- May 18, 2019
-
-
Martin Storsjö authored
I forgot to amend this change before committing it in SVN r361014, this is what was agreed upon in the review. llvm-svn: 361093
-
- May 17, 2019
-
-
Martin Storsjö authored
Libtool concludes that the linker doesn't support shared libraries, unless this flag is listed in the output of --help. Differential Revision: https://reviews.llvm.org/D62053 llvm-svn: 361017
-
Martin Storsjö authored
Differential Revision: https://reviews.llvm.org/D62030 llvm-svn: 361016
-
Martin Storsjö authored
Differential Revision: https://reviews.llvm.org/D62029 llvm-svn: 361015
-
Martin Storsjö authored
When integrating PDB output in mingw targeting build systems, it might be a lot of extra work to specify unique file names for the pdb output. Therefore allow omitting the actual file name and let it implicitly be the same name as the linker output, with a pdb extension. As the current form of the pdb option takes a separate parameter value, e.g. "-pdb out.pdb", it is impractical to leave out the parameter value. Therefore, introduce a second syntax for the option, with an equals sign, like -pdb=out.pdb, where the value easily can be omitted. The form -pdb= for requesting pdb files with an implicit name should work fine, even though it looks a bit unconventional in that form. Differential Revision: https://reviews.llvm.org/D62004 llvm-svn: 361014
-
- Apr 19, 2019
-
-
Martin Storsjö authored
GNU ld doesn't have such a flag though, so this is a lld specific option. Differential Revision: https://reviews.llvm.org/D60860 llvm-svn: 358759
-
- Feb 19, 2019
-
-
Martin Storsjö authored
Differential Revision: https://reviews.llvm.org/D58380 llvm-svn: 354387
-
- Feb 06, 2019
-
-
Martin Storsjö authored
Differential Revision: https://reviews.llvm.org/D57808 llvm-svn: 353342
-
- Feb 05, 2019
-
-
Martin Storsjö authored
This fixes PR40582. Patch by Georg Koppen! Differential Revision: https://reviews.llvm.org/D57679 llvm-svn: 353145
-
- Jan 29, 2019
-
-
Martin Storsjö authored
Move them to the same section as the newly added ignored options without a defined name. Also move options that actually weren't ignored to the right section. Differential Revision: https://reviews.llvm.org/D57374 llvm-svn: 352529
-
Martin Storsjö authored
GCC can use LLD with -fuse-ld=lld for MinGW these days, but by default these options are passed to the linker (unless -fno-lto is passed to the GCC driver). Differential Revision: https://reviews.llvm.org/D57304 llvm-svn: 352459
-
- Jan 19, 2019
-
-
Chandler Carruth authored
to reflect the new license. We understand that people may be surprised that we're moving the header entirely to discuss the new license. We checked this carefully with the Foundation's lawyer and we believe this is the correct approach. Essentially, all code in the project is now made available by the LLVM project under our new license, so you will see that the license headers include that license only. Some of our contributors have contributed code under our old license, and accordingly, we have retained a copy of our old license notice in the top-level files in each project and repository. llvm-svn: 351636
-
- Jan 05, 2019
-
-
Martin Storsjö authored
Originally authored by Rui Ueyama. Differential Revision: https://reviews.llvm.org/D53031 llvm-svn: 350464
-
- Oct 10, 2018
-
-
Martin Storsjö authored
This is necessary for handling defaultlib directives embedded in object files, unless they use an absolute path. Differential Revision: https://reviews.llvm.org/D53015 llvm-svn: 344123
-
- Sep 10, 2018
-
-
Martin Storsjö authored
Differential Revision: https://reviews.llvm.org/D51840 llvm-svn: 341846
-
- Jun 29, 2018
-
-
Martin Storsjö authored
In this mode, we retain the symbol table, but skip the actual debug information. Differential Revision: https://reviews.llvm.org/D48745 llvm-svn: 335947
-
- May 15, 2018
-
-
Martin Storsjö authored
Differential Revision: https://reviews.llvm.org/D46872 llvm-svn: 332398
-
Martin Storsjö authored
This allows producing pdb debug info. This is an LLD specific option since GCC and GNU binutils doesn't support the PDB file format. Differential Revision: https://reviews.llvm.org/D46796 llvm-svn: 332327
-
- Mar 14, 2018
-
-
Martin Storsjö authored
llvm-svn: 327562
-
- Mar 01, 2018
-
-
Rui Ueyama authored
Currently --start-group=foo is accidentally accepted by the MinGW driver. Differential Revision: https://reviews.llvm.org/D43836 llvm-svn: 326478
-
- Feb 27, 2018
-
-
Martin Storsjö authored
These are required for handling circular dependencies between static libraries, which is something that lld-link always does without any extra parameters. Differential Revision: https://reviews.llvm.org/D43786 llvm-svn: 326172
-
- Dec 15, 2017
-
-
Martin Storsjö authored
The COFF linker automatically sets the IMAGE_DLL_CHARACTERISTICS_NO_SEH when suitable, similarly to link.exe. Differential Revision: https://reviews.llvm.org/D41275 llvm-svn: 320861
-
- Dec 13, 2017
-
-
Sam Clegg authored
Without this the LLVM_BUILD_LLVM_DYLIB+DLLVM_LINK_LLVM_DYLIB build break. Also remove unneeded lldCore from wasm/CMakeLists.txt Differential Revision: https://reviews.llvm.org/D41194 llvm-svn: 320610
-
- Dec 12, 2017
-
-
Rui Ueyama authored
Differential Revision: https://reviews.llvm.org/D41127 llvm-svn: 320526
-
Martin Storsjö authored
The linker refuses using -dynamicbase:no on these architectures. Stop passing -dynamicbase (which just reinforces the lld-link default) for simplicity. Differential Revision: https://reviews.llvm.org/D41052 llvm-svn: 320518
-
- Nov 15, 2017
-
-
Martin Storsjö authored
LLD already writes a build id if debug info is enabled. Some projects set --pie-executable to avoid GNU ld bugs about stripping base relocations from an executable when they actually are used. Since -fixed:no is the default (and we don't support setting the -fixed option via the MinGW frontend), we don't need to handle this. --disable-auto-image-base is ignored just like --enable-auto-image-base (as we ignore from before). Differential Revision: https://reviews.llvm.org/D40031 llvm-svn: 318285
-
Martin Storsjö authored
GNU ld doesn't seem to support --icf at all, but this was suggested in D39885, and GNU gold seems to support it. Differential Revision: https://reviews.llvm.org/D40019 llvm-svn: 318283
-
Martin Storsjö authored
Differential Revision: https://reviews.llvm.org/D40018 llvm-svn: 318282
-
Martin Storsjö authored
All of these are disabled by default in GNU ld, but enabled by default in lld. Disable dynamicbase by default since it potentially could cause compatibility issues, but just ignore the others since the lld default should be fine for most concievable cases. Differential Revision: https://reviews.llvm.org/D40017 llvm-svn: 318281
-
Martin Storsjö authored
In GNU ld, this option is only available on i386, not on x86_64 (where it's enabled by default with no option to disable it either). Differential Revision: https://reviews.llvm.org/D40015 llvm-svn: 318280
-
- Nov 03, 2017
-
-
Martin Storsjö authored
Differential Revision: https://reviews.llvm.org/D39541 llvm-svn: 317376
-