summaryrefslogtreecommitdiffstats
path: root/lld/test/wasm/visibility-hidden.ll
Commit message (Collapse)AuthorAgeFilesLines
* [WebAssembly] Don't export __data_end and __heap_base by default.Sam Clegg2019-05-311-12/+0
| | | | | | | | These can still be exported via --export if needed. Differential Revision: https://reviews.llvm.org/D62744 llvm-svn: 362276
* [WebAssebmly] Allow __wasm_call_ctors to be GC'edSam Clegg2019-03-011-4/+4
| | | | | | Differential Revision: https://reviews.llvm.org/D58806 llvm-svn: 355240
* [WebAssembly] Add --[no]-export-dynamic to replace --export-defaultSam Clegg2018-09-271-6/+15
| | | | | | | | | | | | | | | | | | | | | | | | In a very recent change I introduced a --no-export-default flag but after conferring with others it seems that this feature already exists in gnu GNU ld and lld in the form the --export-dynamic flag which is off by default. This change replaces export-default with export-dynamic and also changes the default to match the traditional linker behaviour. Now, by default, only the entry point is exported. If other symbols are required by the embedder then --export-dynamic or --export can be used to export all visibility hidden symbols or individual symbols respectively. This change touches a lot of tests that were relying on symbols being exported by default. I imagine it will also effect many users but do think the change is worth it match of the traditional behaviour and flag names. Differential Revision: https://reviews.llvm.org/D52587 llvm-svn: 343265
* [WebAssembly] Add --export-default/--no-export-default optionsSam Clegg2018-09-251-2/+16
| | | | | | | | | | | | | These option control weather or not symbols marked as visibility default are exported in the output binary. By default this is true, but emscripten prefers to control the exported symbol list explicitly at link time and ignore the symbol attributes. Differential Revision: https://reviews.llvm.org/D52003 llvm-svn: 343034
* [WebAssembly] Don't error when --undefined symbols are not foundSam Clegg2018-08-041-3/+3
| | | | | | | | | | | | | | | This matches the behavior of the ELF linker where -u/--undefined means symbols will get pulled in from archives but won't result in link error if they are missing. Also, don't actually great symbol table entries for the undefined symbols, again matching more closely the ELF linker. This also results in simplification of the code. Differential Revision: https://reviews.llvm.org/D50279 llvm-svn: 338938
* [lld] Make tests calling llvm-ar more robustChris Jackson2018-08-021-0/+1
| | | | | | | | | | | Some lit tests that call llvm-ar use the 'r' flag. If the target archive already exists and is in a corrupt state, this can cause the test to fail. We have added 'rm -f' calls before the llvm-ar calls to increase the robustness of the tests. Differential revision: https://reviews.llvm.org/D49184 llvm-svn: 338705
* [WebAssembly] Remove final -wasm component of target triple. NFC.Sam Clegg2018-05-101-1/+1
| | | | | | This has been the default for a while now. llvm-svn: 332009
* [WebAssembly] Check function signatures by defaultSam Clegg2018-05-051-1/+1
| | | | | | | | | But only produce a warning (for now) unless --fatal-warnings is passed. Differential Revision: https://reviews.llvm.org/D46484 llvm-svn: 331574
* [WebAssembly] Reorder synthetic functions to come firstNicholas Wilson2018-03-121-3/+3
| | | | | | | | | This matches the existing ordering that's been there for globals for a while (__stack_pointer coming first). Differential Revision: https://reviews.llvm.org/D44333 llvm-svn: 327286
* [WebAssembly] Reorder exports to match symbol table orderNicholas Wilson2018-03-011-8/+8
| | | | | | | | This fixes a TODO introduced in rLLD325861. Differential Revision: https://reviews.llvm.org/D43877 llvm-svn: 326424
* Use wasm-ld instead of "lld -flavor wasm".Rui Ueyama2018-02-161-1/+1
| | | | | | | | | | Invoking lld as ld.lld, ld.ld64, lld-link or wasm-ld is preferred than invoking lld as lld and pass an -flavor option. We have "lld" file mostly for historical reasons. Differential Revision: https://reviews.llvm.org/D43407 llvm-svn: 325405
* [WebAssembly] Add __data_end link-sythentic symbol.Sam Clegg2018-02-071-0/+3
| | | | | | | | | | | | | | This is similar to _end (See https://linux.die.net/man/3/edata for more) but using our own unique name since our use cases will most likely be different and we want to keep our options open WRT to memory layout. This change will allow is to remove the DataSize from the linking metadata section which is currently being used by emscripten to derive the end of the data. Differential Revision: https://reviews.llvm.org/D42867 llvm-svn: 324443
* [WebAssembly] Fix signature mismatches in test codeSam Clegg2018-02-021-3/+3
| | | | | | | | | Pass --check-signatures to test executions of lld and fix resulting errors. Differential Revision: https://reviews.llvm.org/D42661 llvm-svn: 324042
* [WebAssembly] Use inline target tripple in test casesSam Clegg2018-01-241-2/+4
| | | | | | | | | | This is somewhat preferable since (in many cases) it allows llc to be run directly on the .ll files without having to pass the `-mtriple` argument. Differential Revision: https://reviews.llvm.org/D42438 llvm-svn: 323299
* [WebAssembly] Remove special handling of entry point export.Sam Clegg2018-01-201-3/+3
| | | | | | | | | | | | Its much easier to export it via setHidden(false), now that that is a thing. As a side effect the start function is not longer always exports first (becuase its being exported just like all the other function). Differential Revision: https://reviews.llvm.org/D42321 llvm-svn: 323025
* [WebAssembly] Add missing function exports and SYM_INFO to --relocatable outputSam Clegg2018-01-181-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When writing relocatable files we were exporting for all globals (including file-local syms), but not for functions. Oops. To be consistent with non-relocatable output, all symbols (file-local and global) should be exported. Any symbol targetted by further relocations needs to be exported. The lack of local function exports was just an omission, I think. Second bug: Local symbol names can collide, causing an illegal Wasm file to be generated! Oops again. This only previously affected producing relocatable output from two files, where each had a global with the same name. We need to "budge" the symbol names for locals that are exported on relocatable output. Third bug: LLD's relocatable output wasn't writing out any symbol flags! Thus the local globals weren't being marked as local, and the hidden flag was also stripped... Added tests to exercise colliding local names with/without relocatable flag Patch by Nicholas Wilson! Differential Revision: https://reviews.llvm.org/D42105 llvm-svn: 322908
* [WebAssembly] Define __heap_base globalSam Clegg2018-01-171-0/+3
| | | | | | | | | This is an immutable exported global representing the start of the heap area. It is a page aligned. Differential Revision: https://reviews.llvm.org/D42030 llvm-svn: 322609
* Remove trailing whitespace.Rui Ueyama2017-12-121-1/+1
| | | | llvm-svn: 320520
* [WebAssembly] Improve wasm test casesSam Clegg2017-12-081-1/+1
| | | | | | | | | | | | | | | | Add test for weakly defined symbols with the same name Improve test for call-indirect to include the same call in two different objects. This lays the ground work to improve the output via de-duplicating the indirect call table: https://reviews.llvm.org/D40989 Also make all tests consistently pass -mtriple rather than declaring in the sources. Differential Revision: https://reviews.llvm.org/D41024 llvm-svn: 320172
* Reland "[WebAssembly] Add support for visibility flag""Sam Clegg2017-12-031-0/+46
| | | | | | | | Subscribers: jfb, dschuff, jgravelle-google, aheejin, sunfish Differential Revision: https://reviews.llvm.org/D40773 llvm-svn: 319627
* [WebAssembly] Revert r319592 "Add support for visibility flag"Heejin Ahn2017-12-021-46/+0
| | | | | | | | | r319488 reportedly broke one of LLVM bots (ubuntu-gcc7.1-werror), and this patch depends on that patch. See http://lab.llvm.org:8011/builders/ubuntu-gcc7.1-werror/builds/3369 for details. llvm-svn: 319603
* [WebAssembly] Add support for visibility flagSam Clegg2017-12-011-0/+46
Patch by Nicholas Wilson Differential Revision: https://reviews.llvm.org/D40690 llvm-svn: 319592
OpenPOWER on IntegriCloud