- Sep 13, 2017
-
-
Rafael Espindola authored
llvm-svn: 313188
-
Rui Ueyama authored
Arg instances can be claimed. After claimed, its `isClaimed` function returns true. We do not use that notion in lld, so using NoClaim versions of functions is just confusing. This patch is to just use hasArg instead of hasArgNoClaim. llvm-svn: 313187
-
Rafael Espindola authored
llvm-svn: 313184
-
Rui Ueyama authored
There are no alises handled by this switch, but getUnaliasesdOption is preferred way of doing this. This is also consistent with ELF and COFF. llvm-svn: 313180
-
Rui Ueyama authored
llvm-svn: 313178
-
Martin Storsjö authored
This is how the flag is documented in GNU binutils ld; -Bstatic only applies to -l options after it, until the next -Bdynamic. Differential Revision: https://reviews.llvm.org/D37794 llvm-svn: 313175
-
Martin Storsjö authored
In MinGW configurations (GCC, or clang with a *-windows-gnu target), the -export directives in the object file contains the undecorated symbol name, while it is decorated in MSVC configurations. (On the command line, link.exe takes an undecorated symbol name for the -export argument though.) Differential Revision: https://reviews.llvm.org/D37772 llvm-svn: 313174
-
Rafael Espindola authored
This reduces the size of SharedSymbol which in turn reduces the size of Symbol from 88 to 80 bytes. llvm-svn: 313154
-
NAKAMURA Takumi authored
llvm-svn: 313129
-
George Rimar authored
There is no need to scan over all input sections for relocatable output. As we do not process or scan relocations anyways. Patch moves check for Config->Relocatable out to avoid that and also removes excessive check for isa<EhInputSection> from first for loop. It is excessive because we handle all of them in a second for loop below. That all allowed to simplify code. Differential revision: https://reviews.llvm.org/D37746 llvm-svn: 313127
-
Martin Storsjö authored
Differential Revision: https://reviews.llvm.org/D37761 llvm-svn: 313125
-
Martin Storsjö authored
Differential Revision: https://reviews.llvm.org/D37769 llvm-svn: 313124
-
Martin Storsjö authored
This fixes PR31824. Differential Revision: https://reviews.llvm.org/D37709 llvm-svn: 313123
-
Rafael Espindola authored
This should fix the lto bootstrap. It is somewhat hard to remember about lazy symbols deep down in the link. It might be worth it replacing them with undefined symbols once we are done adding files. llvm-svn: 313103
-
Rui Ueyama authored
llvm-svn: 313095
-
Rui Ueyama authored
llvm-svn: 313094
-
Ben Dunbobbin authored
https://reviews.llvm.org/rL312796 meant that references to garbage collected common symbols would cause a segfault. This change fixes the behaviour for references to stripped common symbols. Differential Revision: https://reviews.llvm.org/D37718 llvm-svn: 313086
-
- Sep 12, 2017
-
-
Rafael Espindola authored
It is not needed since it is always 0. llvm-svn: 313076
-
Martin Storsjö authored
On i386, the --entry parameter to GNU ld is supposed to be a decorated symbol name, while it is an undecorated name in link.exe. Differential Revision: https://reviews.llvm.org/D37710 llvm-svn: 313066
-
Rafael Espindola authored
llvm-svn: 313051
-
Rafael Espindola authored
Given our representation of symbols as section + offset, we can finalize symbols like _end as soon as the section is known. llvm-svn: 313048
-
Rui Ueyama authored
Differential Revision: https://reviews.llvm.org/D37708 llvm-svn: 313045
-
Simon Atanasyan authored
For now LLD does not setup the least-significant bit for microMIPS symbols. llvm-objdump does not like that. In attempt to fix sanitizer-x86_64-linux-fast build-bot let's temporarily check the raw binary file content. llvm-svn: 313040
-
Simon Atanasyan authored
The patch implements initial support of microMIPS code linking: - Handle microMIPS specific relocations. - Emit both R1-R5 and R6 microMIPS PLT records. For now linking mixed set of regular and microMIPS object files is not supported. Also the patch does not handle (setup and clear) the least-significant bit of an address which is utilized as the ISA mode bit and allows to make jump between regular and microMIPS code without any thunks. Differential revision: https://reviews.llvm.org/D37335 llvm-svn: 313028
-
Peter Smith authored
Replace OutputSection *Cmd to OutputSection *OS. The Commands vector was moved to OutputSection but the names of the variables were not. This patch changes the names to match. Differential Revision: https://reviews.llvm.org/D37627 llvm-svn: 313015
-
Rafael Espindola authored
This fixes two more cases where we were aligning the offset in a section, instead of the final address. llvm-svn: 312983
-
NAKAMURA Takumi authored
llvm-svn: 312981
-
Rafael Espindola authored
When given foobar = ALIGN(., 0x100); my expectation from what the manual says is that the final address of foobar will be aligned. It seems that bfd aligns the offset in the section, which causes some odd results if the section is not 0x100 aligned. Gold aligns the address. This changes lld to align the final address. llvm-svn: 312979
-
Adrian Prantl authored
llvm-svn: 312976
-
Adrian Prantl authored
llvm-svn: 312974
-
Rui Ueyama authored
/natvis is a new command line option introduced by MSVC 2017. We eventually have to support it, but for now, let's ignore it so that we can at least link stuff instead of printing out an error. Patch by Michael Rickert. llvm-svn: 312966
-
Rui Ueyama authored
llvm-svn: 312964
-
Rui Ueyama authored
llvm-svn: 312963
-
Rui Ueyama authored
llvm-svn: 312962
-
Rui Ueyama authored
llvm-svn: 312961
-
Rui Ueyama authored
We do not use "Shim" as a name of MinGW driver, so rename it MinGW. I don't think the former dependency list was correct. MinGW driver depends on COFF. llvm-svn: 312960
-
- Sep 11, 2017
-
-
Martell Malone authored
This adds support for passing LTO flags to the MINGW driver in GNU LD style i.e. -mllvm flag -> /mllvm:flag Reviewers: ruiu, mstorsjo Differential Revision: https://reviews.llvm.org/D37712 llvm-svn: 312956
-
Rui Ueyama authored
This patch also rename OPT_outlib OPT_out_implib for consistency. llvm-svn: 312949
-
Martin Storsjö authored
If the sysroot parameter is passed to the clang frontend, clang already uses it to find libraries and adds -L options for it, but also passes it on to the linker. Therefore we can get pretty far by just ignoring it altogether. Differential Revision: https://reviews.llvm.org/D37707 llvm-svn: 312945
-
Martin Storsjö authored
Pass the -verbose option through to the COFF linker, and show the arguments passed to it. If the -### option is specified, just show the produced argument list and exit, just like in clang. Replace the first argument with "lld-link" in order to produce a correct command line. Differential Revision: https://reviews.llvm.org/D37706 llvm-svn: 312944
-