blob: 058a782191843e875956ad279955c7b850e4023d [file] [log] [blame]
Sam Clegg70683b22018-01-24 03:29:47 +00001; RUN: llc -filetype=obj %s -o %t.o
2
3target triple = "wasm32-unknown-unknown-wasm"
Sam Cleggc94d3932017-11-17 18:14:09 +00004
Sam Clegg0f0a4282018-01-20 01:44:45 +00005define hidden void @entry() local_unnamed_addr #0 {
Sam Cleggc94d3932017-11-17 18:14:09 +00006entry:
7 ret void
8}
9
Rui Ueyamaf05124e2018-02-16 22:58:02 +000010; RUN: wasm-ld --check-signatures -e entry -o %t1.wasm %t.o
Sam Clegg0f0a4282018-01-20 01:44:45 +000011; RUN: obj2yaml %t1.wasm | FileCheck %s
Rui Ueyamaf05124e2018-02-16 22:58:02 +000012; RUN: wasm-ld --check-signatures --entry=entry -o %t2.wasm %t.o
Sam Clegg0f0a4282018-01-20 01:44:45 +000013; RUN: obj2yaml %t2.wasm | FileCheck %s
14
15; CHECK: - Type: EXPORT
16; CHECK-NEXT: Exports:
17; CHECK-NEXT: - Name: memory
18; CHECK-NEXT: Kind: MEMORY
19; CHECK-NEXT: Index: 0
Nicholas Wilson4cdf5b82018-03-01 09:38:02 +000020; CHECK-NEXT: - Name: __heap_base
21; CHECK-NEXT: Kind: GLOBAL
22; CHECK-NEXT: Index: 1
23; CHECK-NEXT: - Name: __data_end
24; CHECK-NEXT: Kind: GLOBAL
25; CHECK-NEXT: Index: 2
Sam Clegg0f0a4282018-01-20 01:44:45 +000026; CHECK-NEXT: - Name: entry
27; CHECK-NEXT: Kind: FUNCTION
28; CHECK-NEXT: Index: 0
Nicholas Wilson4cdf5b82018-03-01 09:38:02 +000029; CHECK-NEXT: - Type:
Sam Clegg0f0a4282018-01-20 01:44:45 +000030
31; The __wasm_call_ctors is somewhat special. Make sure we can use it
32; as the entry point if we choose
Rui Ueyamaf05124e2018-02-16 22:58:02 +000033; RUN: wasm-ld --check-signatures --entry=__wasm_call_ctors -o %t3.wasm %t.o
Sam Clegg0f0a4282018-01-20 01:44:45 +000034; RUN: obj2yaml %t3.wasm | FileCheck %s -check-prefix=CHECK-CTOR
35
36; CHECK-CTOR: - Type: EXPORT
37; CHECK-CTOR-NEXT: Exports:
38; CHECK-CTOR-NEXT: - Name: memory
39; CHECK-CTOR-NEXT: Kind: MEMORY
40; CHECK-CTOR-NEXT: Index: 0
41; CHECK-CTOR-NEXT: - Name: __wasm_call_ctors
42; CHECK-CTOR-NEXT: Kind: FUNCTION
Sam Clegg03626332018-01-31 01:45:47 +000043; CHECK-CTOR-NEXT: Index: 0
Nicholas Wilson4cdf5b82018-03-01 09:38:02 +000044; CHECK-CTOR-NEXT: - Name: __heap_base
45; CHECK-CTOR-NEXT: Kind: GLOBAL
46; CHECK-CTOR-NEXT: Index: 1
47; CHECK-CTOR-NEXT: - Name: __data_end
48; CHECK-CTOR-NEXT: Kind: GLOBAL
49; CHECK-CTOR-NEXT: Index: 2
50; CHECK-CTOR-NEXT: - Type: