- Sep 16, 2016
-
-
Rui Ueyama authored
Because it corresponds to SORT_NONE. None was renamed Default. llvm-svn: 281776
-
Rafael Espindola authored
This matches bfd behavior. It also makes future changes simpler as we don't have to worry about ignoring these commands in multiple places llvm-svn: 281775
-
Rafael Espindola authored
We have to look at all the relevant input sections at once. llvm-svn: 281772
-
George Rimar authored
This fixes Bug 30385 - SORT_NONE not implemented, `SORT_NONE' disables section sorting by ignoring the command line section sorting option. That is why this patch also implements --sort-section option. Description of sorting rules available at https://sourceware.org/binutils/docs/ld/Input-Section-Wildcards.html Differential revision: https://reviews.llvm.org/D24604 llvm-svn: 281771
-
George Rimar authored
Recommit r281721 "[ELF] - Linkerscript: implement EXCLUDE_FILE in the middle of a input section description." With fix for 2 bots. Details about the fix performed is on a review page. Initial commit message: This is PR30387: From PR description: We fail to parse SECTIONS { foo : { *(sec0 EXCLUDE_FILE (zed1.o) sec1 EXCLUDE_FILE (zed2.o) sec2 ) } } The semantics according to bfd are: Include sec1 from every file but zed1.o Include sec2 from every file but zed2.o Include sec0 from every file Patch implements the support. Differential revision: https://reviews.llvm.org/D24650 llvm-svn: 281754
-
Eugene Leviant authored
Differential revision: https://reviews.llvm.org/D24450 llvm-svn: 281740
-
Rafael Espindola authored
This fixes pr30367, but more importantly, it changes how we compute offsets. Now offset computation in a walk over linker script commands, like the rest of assignAddresses. IMHO this is simpler to understand and if we ever have to create multiple outputsections or chunks to change how we handle test/ELF/linkerscript/alternate-sections.s it should be easier to do it. llvm-svn: 281736
-
George Rimar authored
Reverted r281721 ("[ELF] - Linkerscript: implement EXCLUDE_FILE in the middle of a input section description."). It broke build bot: http://lab.llvm.org:8011/builders/lld-x86_64-darwin13/builds/27508 llvm-svn: 281723
-
George Rimar authored
This is PR30387: From PR description: We fail to parse SECTIONS { foo : { *(sec0 EXCLUDE_FILE (zed1.o) sec1 EXCLUDE_FILE (zed2.o) sec2 ) } } The semantics according to bfd are: Include sec1 from every file but zed1.o Include sec2 from every file but zed2.o Include sec0 from every file Patch implements the support. Differential revision: https://reviews.llvm.org/D24650 llvm-svn: 281721
-
Rui Ueyama authored
llvm-svn: 281698
-
Rui Ueyama authored
llvm-svn: 281671
-
- Sep 15, 2016
-
-
Rafael Espindola authored
What bfd and gold do is give up in putting the headers in the PT_LOAD and just start the PT_LOAD in the second page. llvm-svn: 281660
-
Rafael Espindola authored
We were some times stopping early when using linker scripts. llvm-svn: 281647
-
George Rimar authored
This is PR30386, SORT_BY_INIT_PRIORITY is a keyword can be used to sort sections by numerical value of the GCC init_priority attribute encoded in the section name. Differential revision: https://reviews.llvm.org/D24611 llvm-svn: 281646
-
Rafael Espindola authored
llvm-svn: 281608
-
George Rimar authored
Previouly bot was failing: http://lab.llvm.org:8011/builders/clang-with-lto-ubuntu/builds/413/steps/test-stage1-compiler/logs/stdio Fixed possible segfault, so commit should bix the buildbot. Initial commit message: This is PR30312. Info from bug page: Both of these symbols demangle to abc::abc(): _ZN3abcC1Ev _ZN3abcC2Ev (These would be abc's complete object constructor and base object constructor, respectively.) however with "abc::abc()" in the version script only one of the two receives the symbol version. Patch fixes that. It uses testcase created by Ed Maste (D24306). Differential revision: https://reviews.llvm.org/D24336 llvm-svn: 281605
-
- Sep 14, 2016
-
-
Rafael Espindola authored
llvm-svn: 281521
-
Simon Atanasyan authored
When the linker generates a relocatable object there is no TLS program header and we should not adjust TLS symbols value. llvm-svn: 281494
-
Rafael Espindola authored
This just makes a followup patch easier to read. llvm-svn: 281482
-
George Rimar authored
--section-start=sectionname=org Locate a section in the output file at the absolute address given by org. You may use this option as many times as necessary to locate multiple sections in the command line. org must be a single hexadecimal integer; for compatibility with other linkers, you may omit the leading `0x' usually associated with hexadecimal values. Note: there should be no white space between sectionname, the equals sign (“<=>”), and org. -Tbss=org -Tdata=org -Ttext=org Same as --section-start, with .bss, .data or .text as the sectionname. Differential revision: https://reviews.llvm.org/D24294 llvm-svn: 281458
-
Rafael Espindola authored
It is substantially faster by processing 8 bytes at a time. llvm-svn: 281454
-
Eugene Leviant authored
llvm-svn: 281449
-
Rui Ueyama authored
r279456 guarantees that this condition is always satisfied. llvm-svn: 281426
-
Rui Ueyama authored
Previously, all input files were owned by the symbol table. Files were created at various places, such as the Driver, the lazy symbols, or the bitcode compiler, and the ownership of new files was transferred to the symbol table using std::unique_ptr. All input files were then free'd when the symbol table is freed which is on program exit. I think we don't have to transfer ownership just to free all instance at once on exit. In this patch, all instances are automatically collected to a vector and freed on exit. In this way, we no longer have to use std::unique_ptr. Differential Revision: https://reviews.llvm.org/D24493 llvm-svn: 281425
-
George Rimar authored
Something broked BBots: 281318 failed on step 9: http://lab.llvm.org:8011/builders/clang-with-lto-ubuntu/builds/413 r281317 built step 9 green: http://lab.llvm.org:8011/builders/clang-with-lto-ubuntu/builds/415 Initial revision commits were: This is PR30312. Info from bug page: Both of these symbols demangle to abc::abc(): _ZN3abcC1Ev _ZN3abcC2Ev (These would be abc's complete object constructor and base object constructor, respectively.) however with "abc::abc()" in the version script only one of the two receives the symbol version. Patch fixes that. It uses testcase created by Ed Maste (D24306). Differential revision: https://reviews.llvm.org/D24336 llvm-svn: 281411
-
- Sep 13, 2016
-
-
Rui Ueyama authored
Without this flag set, an AArch64 Linux kernel won't try to load the executable (even if a 32 bit arm kernel will run the binary just fine). Patch by Martin Storsjö! Differential revision: https://reviews.llvm.org/D24471 llvm-svn: 281394
-
Rui Ueyama authored
llvm-svn: 281393
-
Rui Ueyama authored
llvm-svn: 281388
-
Rui Ueyama authored
llvm-svn: 281381
-
Rui Ueyama authored
llvm-svn: 281380
-
Rafael Espindola authored
This also fixes the related problem of non SHF_MERGE sections with different flags not being merged. Fixes pr30355. llvm-svn: 281338
-
Rafael Espindola authored
llvm-svn: 281329
-
Rafael Espindola authored
llvm-svn: 281325
-
Rafael Espindola authored
We already handle this is createSections. llvm-svn: 281320
-
George Rimar authored
This is PR30312. Info from bug page: Both of these symbols demangle to abc::abc(): _ZN3abcC1Ev _ZN3abcC2Ev (These would be abc's complete object constructor and base object constructor, respectively.) however with "abc::abc()" in the version script only one of the two receives the symbol version. Patch fixes that. It uses testcase created by Ed Maste (D24306). Differential revision: https://reviews.llvm.org/D24336 llvm-svn: 281318
-
- Sep 12, 2016
-
-
Rui Ueyama authored
llvm-svn: 281265
-
Rafael Espindola authored
llvm-svn: 281222
-
Rafael Espindola authored
llvm-svn: 281210
-
Rafael Espindola authored
This reverts commit r281096. The previous link errors should be fixed by r281208. llvm-svn: 281209
-
Eugene Leviant authored
Differential revision: https://reviews.llvm.org/D24403 llvm-svn: 281202
-