- Jul 27, 2017
-
-
George Rimar authored
Revert r309252 "[ELF] - Fix missing relocation when linking executable with --unresolved-symbols=ignore-all" It broke bot: http://lab.llvm.org:8011/builders/clang-with-thin-lto-ubuntu/builds/4231 llvm-svn: 309258
-
George Rimar authored
llvm-svn: 309254
-
George Rimar authored
That is slightly more convinent as allows to store pointer on program header entry in a more safe way. Change was used in 2 patches currently on review. Differential revision: https://reviews.llvm.org/D35832 llvm-svn: 309253
-
George Rimar authored
This is PR32112. Previously when we linked executable with --unresolved-symbols=ignore-all and undefined symbols, like: _start: callq und@PLT we did not create relocations, though it looks in that case we should delegate handling of such symbols to runtime linker, hence should emit them. Patch fixes that. Differential revision: https://reviews.llvm.org/D35724 llvm-svn: 309252
-
Rafael Espindola authored
With this we only ask LTO to keep a C named section if there is a __start_ or __end symbol. This is not as strict as lld's --gc-sections, but is as good as we can get without having a far more detailed ir summary. llvm-svn: 309232
-
Rafael Espindola authored
It is __stop_<sec>, not __end_<sec>. llvm-svn: 309225
-
Rui Ueyama authored
Rename it because it was too easy to conflict with llvm::object::ObjectFile which broke buildbots several times. llvm-svn: 309199
-
- Jul 26, 2017
-
-
Meador Inge authored
This patch fixes a small issue with respect to how memory region names are parsed on output section descriptions. For example, consider: .text : { *(.text) } > rom That can also be written like: .text : { *(.text) } >rom The latter form is accepted by GNU LD and is fairly common. Differential Revision: https://reviews.llvm.org/D35920 llvm-svn: 309191
-
Rui Ueyama authored
llvm-svn: 309188
-
Rui Ueyama authored
I believe this compiles fine on all platforms, even on Windows. llvm-svn: 309182
-
Rafael Espindola authored
llvm-svn: 309162
-
Rafael Espindola authored
llvm-svn: 309161
-
Rafael Espindola authored
llvm-svn: 309160
-
Rafael Espindola authored
llvm-svn: 309153
-
Rafael Espindola authored
NFC, just makes it easier to access from non templated code. llvm-svn: 309152
-
George Rimar authored
Was discussed in D35797 thread. llvm-svn: 309096
-
George Rimar authored
Previously we handled this option implicitly, only for infering unresolved symbols handling policy. ld man says: "--noinhibit-exec Retain the executable output file whenever it is still usable", and we may want to handle other cases too. Differential revision: https://reviews.llvm.org/D35793 llvm-svn: 309091
-
George Rimar authored
This is PR30422, previously LLD did not render all option aliases in --help. With this patch it will. Differential revision: https://reviews.llvm.org/D35477 llvm-svn: 309089
-
Rui Ueyama authored
Since the flag is ignored anyway, it doesn't matter whether it is an alias or not. llvm-svn: 309055
-
Rafael Espindola authored
llvm-svn: 309053
-
Rafael Espindola authored
llvm-svn: 309051
-
Rafael Espindola authored
These can be referenced with __start_/__stop_ symbols. I will try to make this more precise in a followup patch. llvm-svn: 309048
-
- Jul 25, 2017
-
-
George Rimar authored
This is PR33714. Previously for each input section offset of memory region was incremented on a size of output section. That resulted in a wrong error message saying about overflow. Patch fixes that. Differential revision: https://reviews.llvm.org/D35803 llvm-svn: 308955
-
Rafael Espindola authored
llvm-svn: 308939
-
- Jul 24, 2017
-
-
Dmitry Mikulin authored
If user requested section alignment is greater than MaxPageSize, propagate it to segment headers correctly. Differential Revision: https://reviews.llvm.org/D35813 llvm-svn: 308930
-
Davide Italiano authored
Follow-up to r308915 suggested by Rafael and Peter. llvm-svn: 308920
-
Davide Italiano authored
We do this emitting a section for every function when LTO is used. Fixes PR33888. Differential Revision: https://reviews.llvm.org/D35809 llvm-svn: 308915
-
- Jul 22, 2017
-
-
Rafael Espindola authored
llvm-svn: 308812
-
Rafael Espindola authored
llvm-svn: 308809
-
- Jul 21, 2017
-
-
George Rimar authored
Eq helper allows to define `XXX` and `XXX=` options forms easily. Patch adds testcases for few aliases. Differential revision: https://reviews.llvm.org/D35619 llvm-svn: 308752
-
Igor Kudrin authored
Differential Revision: https://reviews.llvm.org/D35537 llvm-svn: 308728
-
Petr Hosek authored
This method is no longer being used anywhere. Differential Revision: https://reviews.llvm.org/D35706 llvm-svn: 308706
-
Petr Hosek authored
Also add the test cases for the addition and subtraction both for the relative and absolute case. Differential Revision: https://reviews.llvm.org/D35346 llvm-svn: 308692
-
- Jul 20, 2017
-
-
Rafael Espindola authored
We were not looking at Repl and so thinking there was no output section associated with the merged symbol. Because of that it was produced as absolute. This was found by an internal round of testing. llvm-svn: 308681
-
Rui Ueyama authored
SHF_GROUP flag should have been removed when the control reaches here because InputSectionBase turns the flag off. So this code should be redundant. llvm-svn: 308680
-
Rui Ueyama authored
Summary: If the linker is invoked with `--chroot /foo` and `/bar/baz.o`, it tries to read the file from `/foo/bar/baz.o`. This feature is useful when you are dealing with files created by the --reproduce option. Reviewers: grimar Subscribers: llvm-commits, emaste Differential Revision: https://reviews.llvm.org/D35517 llvm-svn: 308646
-
Rafael Espindola authored
With that in place we can use lld's own infrastructure for the low level detail of dwarf parsing. With this we don't decompress sections twice, we don't scan all realocations and even with this simplistic implementation linking clang with gdb index goes from 34.09 seconds to 20.80 seconds. llvm-svn: 308544
-
- Jul 19, 2017
-
-
Rui Ueyama authored
llvm-svn: 308529
-
Rui Ueyama authored
llvm-svn: 308526
-
Rui Ueyama authored
llvm-svn: 308523
-