- Sep 07, 2016
-
-
George Rimar authored
llvm-svn: 280803
-
George Rimar authored
Previously we combined sections by name if linkerscript was used. For that we had to disable SHF_MERGE handling temporarily, but then found that implementing it properly will require additional complexity layers like subsections or something. At the same time looks we can live with multiple output sections approach for now. That patch do this change. Differential revision: https://reviews.llvm.org/D24127 llvm-svn: 280801
-
George Rimar authored
GNU ld supports [chars] wildcards in version scripts, to match a single instance of any of the chars. Here is an extern example from libstdc++'s version script in FreeBSD: extern "C++" { ... std::locale::_[T-Za-z]*; std::[A-Zm]*; std::n[^u]*; std::nu[^m]*; std::num[^e]*; ... } Patch adds support for scripts above. This is PR29093. Differential revision: https://reviews.llvm.org/D23803 llvm-svn: 280799
-
Eugene Leviant authored
This patch allows making section defined symbols absolute: .foo : { begin_foo = ABSOLUTE(.); *(.foo) } Differential revision: https://reviews.llvm.org/D24135 llvm-svn: 280788
-
Rui Ueyama authored
llvm-svn: 280766
-
- Sep 06, 2016
-
-
Rafael Espindola authored
llvm-svn: 280753
-
Rafael Espindola authored
llvm-svn: 280733
-
Petr Hosek authored
This flag is supported by both BFD ld and gold and is occasionally used to negate the effect of -gc-sections flag. Differential Revision: https://reviews.llvm.org/D24270 llvm-svn: 280729
-
Rui Ueyama authored
llvm-svn: 280724
-
Rafael Espindola authored
Fixes pr30282. llvm-svn: 280709
-
George Rimar authored
Patch implements FILL just as alias for =fillexpr. This allows to make implementation much shorted and simpler than D24186. Differential revision: https://reviews.llvm.org/D24227 llvm-svn: 280708
-
- Sep 05, 2016
-
-
Simon Atanasyan authored
llvm-svn: 280666
-
Simon Atanasyan authored
llvm-svn: 280665
-
Simon Atanasyan authored
On most architectures the linker is required to optimize away any references to __tls_get_addr in case of static linking. As usual a special case is MIPS - libc defines __tls_get_addr itself because there are no TLS optimizations for this architecture. llvm-svn: 280664
-
- Sep 04, 2016
-
-
Simon Atanasyan authored
It looks like MIPS dynamic loader does not support RELCOUNT tag. Both gold/bfd linkers does not emit this tag on MIPS. I will investigate the problem further but for now it is better to behave like GNU linkers. llvm-svn: 280630
-
- Sep 03, 2016
-
-
Rui Ueyama authored
llvm-svn: 280548
-
- Sep 02, 2016
-
-
Simon Atanasyan authored
The patch adds support for both '-' and '~' unary expressions. Also it brings support for signed numbers is expressions. https://llvm.org/bugs/show_bug.cgi?id=30221 Differential revision: https://reviews.llvm.org/D24128 llvm-svn: 280546
-
George Rimar authored
Use std::regex instead of hand written matcher. Patch based on code and ideas of Rui Ueyama. Differential revision: https://reviews.llvm.org/D23829 llvm-svn: 280544
-
Rui Ueyama authored
llvm-svn: 280533
-
Rui Ueyama authored
"Error" looks like it is indicating a parse error. "Error" actually instructs the later process to report an error if there's an error condition. Thus the new name. llvm-svn: 280529
-
Rui Ueyama authored
llvm-svn: 280528
-
Rui Ueyama authored
Cmd used to be the single central place to dispatch. It is not longer the case because we have a logic for readProvideOrAssignment(). This patch removes the hash table so that evrything is in a single function. This is slightly verbose but should improve readability. Differential Revision: https://reviews.llvm.org/D24200 llvm-svn: 280524
-
Rui Ueyama authored
llvm-svn: 280515
-
George Rimar authored
Both bfd and gold accept: foo = 1K; bar = 1M; zed = 1H; And lowercase forms: k, m, h. Patch adds support for that. Differential revision: https://reviews.llvm.org/D24194 llvm-svn: 280494
-
George Rimar authored
FreeBSD's libstdc++ build (used on tier-2 architectures) uses GNU ld's -f <name> option, which sets the DT_AUXILIARY field to the specified name. Multiple -f options may be specified and the DT_AUXILIARY entries will be added in the order in which they appear. Patch implements that option. Differential revision: https://reviews.llvm.org/D24139 llvm-svn: 280475
-
Rui Ueyama authored
llvm-svn: 280423
-
Petr Hosek authored
The primary use of build-id is in debugging, hence omitting debug sections when computing it significantly reduces its usability as changes in debug section content wouldn't alter the build-id. Differential Revision: https://reviews.llvm.org/D24120 llvm-svn: 280421
-
- Sep 01, 2016
-
-
Rafael Espindola authored
This is what InputSectionBase<ELFT>::relocate does and we need to be consistent. The other option would be to be more explicit about which relocations are signed and which are not, and sign extend only when appropriated. That would require extending the target interface. llvm-svn: 280366
-
Eugene Leviant authored
Previously we used LayoutInputSection class to correctly assign symbols defined in linker script. This patch removes it and uses pointer to preceding input section in SymbolAssignment class instead. Differential revision: https://reviews.llvm.org/D23661 llvm-svn: 280348
-
Rafael Espindola authored
They were both pointing to the start of the got, not the end. Fixes pr28924. llvm-svn: 280310
-
Rafael Espindola authored
llvm-svn: 280305
-
- Aug 31, 2016
-
-
Rui Ueyama authored
Target->RelativeRel is used for all platforms, but AMDGPU did not send that member. Fixes bug 30227 - RelativeRel is used, but not initialized for AMDGPU. Differential Revision: https://reviews.llvm.org/D24100 llvm-svn: 280291
-
Rui Ueyama authored
Summary: VERSION commands define symbol versions. The grammar of the commnad is as follows VERSION { version-script-commands } where version-script-commands is [ name ] { version-definitions }. Note that we already support version-script-commands because it is being used for version script command. This patch is based on George's patch https://reviews.llvm.org/D23609 Reviewers: grimar Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D24089 llvm-svn: 280284
-
Petr Hosek authored
Symbol assignments outside of SECTIONS command need to be created even when SECTIONS command is not used. Differential Revision: https://reviews.llvm.org/D23751 llvm-svn: 280252
-
Rafael Espindola authored
llvm-svn: 280243
-
Rafael Espindola authored
Before this lld was always creating common symbols itself. It worked, but prevented them from being internalized when possible. Now it preserves common symbols is the bitcode and they are internalized. Fixes pr30184. llvm-svn: 280242
-
Rafael Espindola authored
llvm-svn: 280237
-
Rafael Espindola authored
Given that we almost always want to handle it as DefinedRegular, just use DefinedRegular. llvm-svn: 280226
-
Davide Italiano authored
llvm-svn: 280225
-
Davide Italiano authored
llvm-svn: 280224
-