summaryrefslogtreecommitdiffstats
path: root/lld/test/ELF/version-script-extern.s
Commit message (Collapse)AuthorAgeFilesLines
* [LLD][ELF] - Update test cases after llvm-readobj output format change.George Rimar2019-10-171-1/+1
| | | | | | | | | | | The change was: SHT_GNU_verdef { -> VersionDefinitions [ SHT_GNU_verneed { -> VersionRequirements [ Version symbols [ -> VersionSymbols [ EH_FRAME Header [ -> EHFrameHeader { llvm-svn: 375096
* [LLD][ELF] - Update test cases after llvm-readobj change.George Rimar2019-10-111-32/+26
| | | | | | https://reviews.llvm.org/D68704 changed the output format. llvm-svn: 374542
* [ELF][test] Improve testsFangrui Song2019-09-071-7/+7
| | | | | | | | | | | | | | Add file-level comments Delete insignificant addresses to make them more tolerant to layout changes Simplify test output Delete weak-undef-val.s - covered by relocation-undefined-weak.s Delete weak-undef-export.s - covered by additional test added to weak-undef.s Delete version-undef-sym.s - covered by undefined-versioned-symbol.s => version-symbol-undef.s Delete symbol-ordering-file2.s - covered by symbol-ordering-file.s Delete gotpcrelx.s - covered by gotpc-relax-und-dso.s => x86-64-gotpc-relax-und-dso.s llvm-svn: 371299
* [test] Change llvm-readobj -long-option to --long-option or well-known short ↵Fangrui Song2019-05-011-1/+1
| | | | | | | | | | | | options. NFC Also change some options that have different semantics (cause confusion) in llvm-readelf mode: -s => -S -t => --symbols -sd => --section-data llvm-svn: 359651
* [ELF] Remove checking for spurious '@' at the end of dynamic sym namesJames Henderson2019-01-081-2/+2
| | | | | | | | | | | | llvm-readobj currently has a bug (see PR40097) where it prints '@' at the end of unversioned dynamic symbols. This bug will be fixed in a separate later commit, but these tests need fixing first. Reviewed by: ruiu, Higuoxing Differential Revision: https://reviews.llvm.org/D56388 llvm-svn: 350614
* [ELF] Make non-writable non-executable PROGBITS sections closer to .textFangrui Song2018-06-261-2/+2
| | | | | | | | | | | | This generalizes the old heuristic placing SHT_DYNSYM SHT_DYNSTR first in the readonly SHF_ALLOC segment. Reviewers: espindola Subscribers: emaste, arichardson, llvm-commits Differential Revision: https://reviews.llvm.org/D48406 llvm-svn: 335674
* [lld] Mitigate relocation overflow [part 1 of 2].Han Shen2018-05-151-3/+3
| | | | | | | | | | | This CL places .dynsym and .dynstr at the beginning of SHF_ALLOC sections. We do this to mitigate the possibility that huge .dynsym and .dynstr sections placed between ro-data and text sections cause relocation overflow. Differential Revision: https://reviews.llvm.org/D45788 llvm-svn: 332374
* [ELF] - Revert of: r332038, r332054, r332060, r332061, r332062, r332063George Rimar2018-05-111-2/+2
| | | | | | | | | | | This reverts "Mitigate relocation overflow [part 1 of 2]." and the following commits which were trying to fix the bots. At the moment of r332082, bots are still failing and we need to find the reason of test case breakages first of all. http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/17042/steps/test/logs/stdio http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast/builds/29845/steps/test/logs/stdio llvm-svn: 332085
* [ELF] Fix tests after rL332038Fangrui Song2018-05-101-2/+2
| | | | llvm-svn: 332062
* Fix test cases failure caused by revision 332038.Han Shen2018-05-101-2/+2
| | | | | | | The previous CL changes the order of output sections, which causes address changes in test cases. Review: https://reviews.llvm.org/D46730 llvm-svn: 332054
* Mitigate relocation overflow [part 1 of 2].Han Shen2018-05-101-2/+2
| | | | | | | | | | | | This CL is to mitigate R_X86_64_PC32 relocation overflow problems for huge binaries that has near 4G allocated sections. By examining those binaries, there're 2 issues contributes to the problem: 1). huge ".dynsym" and ".dynstr" stands in the way between .rodata and .text 2). _init_array_start/end are placed at 0 if no ".init_array" presents, this causes .text relocation against them become more prone to overflow. This CL addresses 1st problem (the 2nd will be addressed in another CL.) by assigning a smaller sortrank to .dynsym and .dynstr thus they no longer stand in between. llvm-svn: 332038
* [ELF] - Do --hash-style=both by default.George Rimar2017-10-061-1/+1
| | | | | | | | | | | | | | Its PR34712, GNU linkers recently changed default values to "both" of "sysv". Patch do the same for all targets except MIPS, where .gnu.hash section is not yet supported. Code suggested by Rui Ueyama. Differential revision: https://reviews.llvm.org/D38407 llvm-svn: 315051
* Add support for 'extern "C"'.Rafael Espindola2016-12-081-1/+1
| | | | | | It is used by Qt. llvm-svn: 289074
* Better formatting.Rui Ueyama2016-11-231-14/+6
| | | | | | If a line is too long, its error message becomes hard to read. llvm-svn: 287739
* Recommit r281318 "[ELF] - Versionscript: support mangled symbols with the ↵George Rimar2016-09-151-2/+20
| | | | | | | | | | | | | | | | | | | | | | | | | same name." 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
* revert: [ELF] - Versionscript: support mangled symbols with the same name.George Rimar2016-09-131-20/+2
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* [ELF] - Versionscript: support mangled symbols with the same name.George Rimar2016-09-131-2/+20
| | | | | | | | | | | | | | | | | 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
* ELF: add version script void function test caseEd Maste2016-09-071-2/+21
| | | | | | | | | | | | After r280733 we use LLVM's demangler in lld. As a result we no longer have a discrepancy between f() and f(void) on FreeBSD (due to an issue with FreeBSD's system demangler). Restore a test case for a void arg function. Differential Revision: https://reviews.llvm.org/D24305 llvm-svn: 280831
* [ELF] - Enable testcases that uses demangler to run under windows and escape ↵George Rimar2016-09-071-6/+6
| | | | | | | | | | | | | | quotes around "C++". Previously testcases were enabled only for shell. r280733 added c++ itanium demangler to lld and we can enable them fully. Also this change make quotes to be escaped: extern "C++" -> extern \"C++\", which worked before just because we are dropping tokens quotes internally at this moment. llvm-svn: 280797
* Update for r275682:George Rimar2016-07-161-2/+1
| | | | | | | | | I think # REQUIRES: shell is required instead of # XFAIL: win32 llvm-svn: 275683
* Recommit r275257 "[ELF] - Implement extern "c++" version script tag"George Rimar2016-07-161-0/+98
| | | | | | | | | | | | | | | | | | | | | BSD toolchain contains a bug: https://sourceforge.net/p/elftoolchain/tickets/491/ In short demangler works differently, fix was to update the testcase. It should fix the FreeBSD bot failture: http://lab.llvm.org:8011/builders/lld-x86_64-freebsd/builds/19432/steps/test_lld/logs/stdio Original commit message was: [ELF] - Implement extern "c++" version script tag Patch implements 'extern' version script tag. Currently only values in quotes(") are supported. Matching of externs is performed in the same pass as exact match of globals. Differential revision: http://reviews.llvm.org/D21930 llvm-svn: 275682
* Reverted r275257 "[ELF] - Implement extern "c++" version script tag"George Rimar2016-07-131-98/+0
| | | | | | | | It broke build bots: http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/8204 http://lab.llvm.org:8011/builders/lld-x86_64-freebsd/builds/19432 llvm-svn: 275258
* [ELF] - Implement extern "c++" version script tagGeorge Rimar2016-07-131-0/+98
Patch implements 'extern' version script tag. Currently only values in quotes(") are supported. Matching of externs is performed in the same pass as exact match of globals. Differential revision: http://reviews.llvm.org/D21930 llvm-svn: 275257
OpenPOWER on IntegriCloud