llvm-project/lld/test/wasm
Sam Clegg b062fe1816 [lld][WebAssembly] Fail if bitcode objects are pulled in after LTO
This can happen if lto::LTO::getRuntimeLibcallSymbols doesn't return
an complete/accurate list of libcalls.  In this case new bitcode
object can be linked in after LTO.

For example the WebAssembly backend currently calls:
  setLibcallName(RTLIB::FPROUND_F32_F16, "__truncsfhf2");

But `__truncsfhf2` is not part of `getRuntimeLibcallSymbols` so if
this symbol is generated during LTO the link will currently fail.

Without this change the linker crashes because the bitcode symbol
makes it all the way to the output phase.

See: https://bugs.llvm.org/show_bug.cgi?id=44353

Differential Revision: https://reviews.llvm.org/D71632
2020-02-11 17:36:15 -08:00
..
Inputs Migrate function attribute "no-frame-pointer-elim"="false" to "frame-pointer"="none" as cleanups after D56351 2019-12-24 16:27:51 -08:00
lto [lld][WebAssembly] Fail if bitcode objects are pulled in after LTO 2020-02-11 17:36:15 -08:00
alias.ll [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
archive-export.ll [WebAssembly] Don't export __data_end and __heap_base by default. 2019-05-31 22:51:59 +00:00
archive-no-index.ll [WebAssembly] Error on archives without a symbol index 2019-06-25 17:49:35 +00:00
archive-weak-undefined.ll [lld][WebAssembly] Fix for weak references to data symbols in archives 2019-10-17 03:21:02 +00:00
archive.ll [WebAssembly] Ensure ArchiveName is set even in the presence of --whole-archive. 2019-04-09 05:41:52 +00:00
bss-only.ll [WebAssembly] Elide data segments for .bss sections 2019-10-15 19:05:11 +00:00
call-indirect.ll [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
comdats.ll [lld][WebAssembly] Fix handling of comdat functions in init array. 2019-07-17 18:43:36 +00:00
compress-relocs.ll [WebAssembly] Add --[no]-export-dynamic to replace --export-default 2018-09-27 21:06:25 +00:00
conflict.test [WebAssembly] Check function signatures by default 2018-05-05 01:23:07 +00:00
corrupted.wasm.test [lld/WebAssembly] Slightly nicer error message for malformed input files 2019-06-26 00:52:46 +00:00
custom-section-name.ll [WebAssembly] Elide data segments for .bss sections 2019-10-15 19:05:11 +00:00
custom-sections.ll [WebAssembly] Remove final -wasm component of target triple. NFC. 2018-05-10 17:59:41 +00:00
cxx-mangling.ll [WebAssembly] Don't export __data_end and __heap_base by default. 2019-05-31 22:51:59 +00:00
data-layout.ll [WebAssembly] Elide data segments for .bss sections 2019-10-15 19:05:11 +00:00
data-segment-merging.ll [WebAssembly] Sort output data sections to place .bss last 2019-09-19 01:14:59 +00:00
data-segments.ll [WebAssembly] Elide data segments for .bss sections 2019-10-15 19:05:11 +00:00
debug-removed-fn.ll Migrate function attribute "no-frame-pointer-elim"="false" to "frame-pointer"="none" as cleanups after D56351 2019-12-24 16:27:51 -08:00
debuginfo-relocs.s [WebAssembly][lld] Fix crash when applying relocations to debug sections 2019-08-20 18:39:24 +00:00
debuginfo.test [WebAssembly] Track frame registers through VReg and local allocation 2020-01-17 17:23:56 -08:00
demangle.ll [WebAssembly] Don't error when --undefined symbols are not found 2018-08-04 00:04:06 +00:00
driver.ll [WebAssembly] Remove final -wasm component of target triple. NFC. 2018-05-10 17:59:41 +00:00
emit-relocs-fpic.s [WebAssembly] Fix list of relocations with addends in lld 2019-06-26 00:52:42 +00:00
emit-relocs.ll [WebAssembly] Add support for -emit-relocs 2019-05-24 13:28:27 +00:00
entry-signature.ll [WebAssembly] Allow signautre of entry function to be flexible 2018-05-14 23:01:16 +00:00
entry.ll [WebAssembly] Don't export __data_end and __heap_base by default. 2019-05-31 22:51:59 +00:00
event-section.ll [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
export-all.ll [WebAssembly] Don't error when --undefined symbols are not found 2018-08-04 00:04:06 +00:00
export-name.ll [WebAssembly] Add new `export_name` clang attribute for controlling wasm export names 2019-12-11 11:54:57 -08:00
export-optional-lazy.ll [lld] Fix trivial typos in comments 2020-01-06 10:25:48 -08:00
export-table.test [WebAssembly] Instruction renaming 2019-01-08 06:25:55 +00:00
export.ll [WebAssembly] Implement NO_STRIP 2019-08-29 22:41:05 +00:00
fatal-warnings.ll [WebAssembly] Use wasm-ld rather than lld with -flavor in tests. NFC. 2019-02-05 16:53:33 +00:00
function-imports-first.ll [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
function-imports.ll [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
function-index.test [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
gc-imports.ll [WebAssebmly] Allow __wasm_call_ctors to be GC'ed 2019-03-01 22:35:47 +00:00
gc-sections.ll [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
global-base.test [lld][WebAssembly] Add optional symbols after input file handling 2019-08-08 16:58:36 +00:00
growable-table.test [lld][WebAssembly] Support for growable tables 2019-08-27 22:58:21 +00:00
import-attribute-mismatch.ll [lld][WebAssebmly] Preserve custom import attributes with LTO 2019-10-17 05:16:54 +00:00
import-memory.test [WebAssembly] Initialize memory in start function 2019-09-04 19:50:39 +00:00
import-module.ll [WebAssembly] Support imports from custom module names 2019-02-01 02:29:57 +00:00
import-name.ll [WebAssebmly][MC] Support .import_name/.import_field asm directives 2019-12-06 15:09:56 -08:00
import-table.test [WebAssembly] Instruction renaming 2019-01-08 06:25:55 +00:00
init-fini-gc.ll [WebAssembly] Fix crash when __wasm_call_ctor is GCd in programs containing static init/fini 2019-03-02 04:55:02 +00:00
init-fini.ll [WebAssembly] Test change after disabling MachineBlockPlacement 2019-03-05 20:36:20 +00:00
invalid-stack-size.test [WebAssembly] Check function signatures by default 2018-05-05 01:23:07 +00:00
large-memory.test [lld] Allow args::getInterger to parse args larger than 2^31-1 2019-06-07 06:05:26 +00:00
lit.local.cfg [WebAssembly] Fix list of relocations with addends in lld 2019-06-26 00:52:42 +00:00
load-undefined.test [WebAssembly] Don't error when --undefined symbols are not found 2018-08-04 00:04:06 +00:00
local-symbols.ll [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
locals-duplicate.test [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
many-functions.ll [WebAssembly] Update MC for bulk memory 2019-02-19 22:56:19 +00:00
no-tls.test [WebAssembly] Initialize memory in start function 2019-09-04 19:50:39 +00:00
optional-symbol.ll [lld][WebAssembly] Add optional symbols after input file handling 2019-08-08 16:58:36 +00:00
pic-static.ll [WebAssembly][lld] Fix for static linking of PIC code 2019-10-29 18:58:56 -07:00
pie.ll [WebAssembly] Import __stack_pointer when building -pie binaries 2019-07-11 13:13:25 +00:00
reloc-addend.ll [WebAssembly] Sort output data sections to place .bss last 2019-09-19 01:14:59 +00:00
relocatable.ll [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
reproduce.ll Fix test to put its outputs into the temp directory. 2019-05-21 19:41:19 +00:00
responsefile.test Fix wasm responsefile lld test on Windows 2018-06-14 19:59:22 +00:00
section-symbol-relocs.yaml [WebAssembly] Don't generate empty type sections. 2019-05-16 21:22:43 +00:00
shared-export-dynamic.ll [lld][WebAssembly] Honor --no-export-dynamic even with -shared 2019-08-19 16:34:51 +00:00
shared-memory-no-atomics.yaml [WebAssembly] Improve feature validation error messages 2019-05-30 21:57:23 +00:00
shared-memory.yaml [WebAssembly] Initialize memory in start function 2019-09-04 19:50:39 +00:00
shared-needed.ll [WebAssembly] Improve support for "needed" list in dylink section 2019-03-13 21:29:20 +00:00
shared.ll [WebAssembly] Use Emscripten triples in PIC tests. 2019-06-05 20:59:20 +00:00
signature-mismatch-export.ll [lld][WebAssembly] Use a more meaningful name for stub functions 2020-01-16 14:55:37 -08:00
signature-mismatch-unknown.ll [lld] Fix trivial typos in comments 2020-01-06 10:25:48 -08:00
signature-mismatch-weak.ll [WebAssembly] Remove duplicate function. NFC. 2018-11-01 01:08:37 +00:00
signature-mismatch.ll [lld][WebAssembly] Use a more meaningful name for stub functions 2020-01-16 14:55:37 -08:00
stack-first.test [lld][WebAssembly] Add optional symbols after input file handling 2019-08-08 16:58:36 +00:00
stack-pointer.ll [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
startstop.ll [lld][WebAssembly] Fix __start/__stop symbols when combining input segments 2019-07-08 10:35:08 +00:00
strip-all.test [WedAssembly] Add -s and -S alias for --strip-all and --strip-debug 2018-10-31 19:30:43 +00:00
strip-debug.test [WedAssembly] Add -s and -S alias for --strip-all and --strip-debug 2018-10-31 19:30:43 +00:00
symbol-type-mismatch.ll [WebAssembly] Update to match llvm changes 2018-05-14 22:42:33 +00:00
target-feature-disallowed.yaml [LLD] Restore tests that use "-" as output 2019-03-27 15:30:52 +00:00
target-feature-none.yaml [LLD] Restore tests that use "-" as output 2019-03-27 15:30:52 +00:00
target-feature-required.yaml [WebAssembly] Improve feature validation error messages 2019-05-30 21:57:23 +00:00
target-feature-used.yaml [WebAssembly] Improve feature validation error messages 2019-05-30 21:57:23 +00:00
tls-align.ll [WebAssembly] Sort output data sections to place .bss last 2019-09-19 01:14:59 +00:00
tls.ll [WebAssembly] Sort output data sections to place .bss last 2019-09-19 01:14:59 +00:00
trace-symbol.ll [lld] Trace all references with lld --trace-symbol 2019-05-24 13:29:17 +00:00
trace.test [wasm-ld] Fix wasm trace test to use %t for temporary files. 2019-02-06 04:49:46 +00:00
undefined-data.ll [lld][WebAssembly] Report undefined symbols during scanRelocations 2019-07-09 20:45:20 +00:00
undefined-entry.test [WebAssembly] Don't error when --undefined symbols are not found 2018-08-04 00:04:06 +00:00
undefined-weak-call.ll [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
undefined.ll [lld][WebAssembly] Report undefined symbols during scanRelocations 2019-07-09 20:45:20 +00:00
version.ll [test] Change llvm-readobj -long-option to --long-option or well-known short options. NFC 2019-05-01 05:49:01 +00:00
visibility-hidden.ll [WebAssembly] Don't export __data_end and __heap_base by default. 2019-05-31 22:51:59 +00:00
weak-alias-overide.ll [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
weak-alias.ll [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
weak-symbols.ll [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
weak-undefined.ll [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
whole-archive.test [WebAssembly] Add support for --whole-archive. 2018-07-23 23:51:19 +00:00
wrap.ll [WebAssebmly] Add support for --wrap 2019-05-24 14:14:25 +00:00