59 lines · plain
1# RUN: llvm-mc -filetype=obj -triple=wasm32-unknown-unknown -o %t.o %s2# RUN: llvm-mc -filetype=obj -triple=wasm32-unknown-unknown -o %t2.o %S/Inputs/sig-mismatch.s3# RUN: wasm-ld --relocatable %t.o %t2.o -o %t.wasm4# RUN: obj2yaml %t.wasm | FileCheck %s5 6# Regression test for handling of signature mismatches (variant function7# symbols) and relocatable output. This issue only occurred when the undefined8# function was seen first and the defined function was referenced within the9# the defining file (see %S/Inputs/sig-mismatch.s).10 11.functype foo (i32, i64, i32) -> (i32)12 13.globl _start14_start:15 .functype _start () -> ()16 i32.const 117 i64.const 218 i32.const 319 call foo20 drop21 end_function22 23# CHECK: - Type: CUSTOM24# CHECK-NEXT: Name: linking25# CHECK-NEXT: Version: 226# CHECK-NEXT: SymbolTable:27# CHECK-NEXT: - Index: 028# CHECK-NEXT: Kind: FUNCTION29# CHECK-NEXT: Name: _start30# CHECK-NEXT: Flags: [ ]31# CHECK-NEXT: Function: 132# CHECK-NEXT: - Index: 133# CHECK-NEXT: Kind: FUNCTION34# CHECK-NEXT: Name: foo35# CHECK-NEXT: Flags: [ ]36# CHECK-NEXT: Function: 237# CHECK-NEXT: - Index: 238# CHECK-NEXT: Kind: FUNCTION39# CHECK-NEXT: Name: call_foo40# CHECK-NEXT: Flags: [ ]41# CHECK-NEXT: Function: 342# CHECK-NEXT: - Index: 343# CHECK-NEXT: Kind: FUNCTION44# CHECK-NEXT: Name: 'signature_mismatch:foo'45# CHECK-NEXT: Flags: [ BINDING_LOCAL ]46# CHECK-NEXT: Function: 047# CHECK-NEXT: - Type: CUSTOM48# CHECK-NEXT: Name: name49# CHECK-NEXT: FunctionNames:50# CHECK-NEXT: - Index: 051# CHECK-NEXT: Name: 'signature_mismatch:foo'52# CHECK-NEXT: - Index: 153# CHECK-NEXT: Name: _start54# CHECK-NEXT: - Index: 255# CHECK-NEXT: Name: foo56# CHECK-NEXT: - Index: 357# CHECK-NEXT: Name: call_foo58# CHECK-NEXT:...59