Sam Clegg | 70683b2 | 2018-01-24 03:29:47 +0000 | [diff] [blame] | 1 | ; RUN: llc -filetype=obj %s -o %t.o |
| 2 | |
Sam Clegg | 262e090 | 2018-05-10 17:59:41 +0000 | [diff] [blame] | 3 | target triple = "wasm32-unknown-unknown" |
Sam Clegg | c94d393 | 2017-11-17 18:14:09 +0000 | [diff] [blame] | 4 | |
Sam Clegg | 0f0a428 | 2018-01-20 01:44:45 +0000 | [diff] [blame] | 5 | define hidden void @entry() local_unnamed_addr #0 { |
Sam Clegg | c94d393 | 2017-11-17 18:14:09 +0000 | [diff] [blame] | 6 | entry: |
| 7 | ret void |
| 8 | } |
| 9 | |
Sam Clegg | 752494b | 2018-05-05 01:23:07 +0000 | [diff] [blame] | 10 | ; RUN: wasm-ld -e entry -o %t1.wasm %t.o |
Sam Clegg | 0f0a428 | 2018-01-20 01:44:45 +0000 | [diff] [blame] | 11 | ; RUN: obj2yaml %t1.wasm | FileCheck %s |
Sam Clegg | 752494b | 2018-05-05 01:23:07 +0000 | [diff] [blame] | 12 | ; RUN: wasm-ld --entry=entry -o %t2.wasm %t.o |
Sam Clegg | 0f0a428 | 2018-01-20 01:44:45 +0000 | [diff] [blame] | 13 | ; 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 Wilson | 4cdf5b8 | 2018-03-01 09:38:02 +0000 | [diff] [blame] | 20 | ; 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 Clegg | 0f0a428 | 2018-01-20 01:44:45 +0000 | [diff] [blame] | 26 | ; CHECK-NEXT: - Name: entry |
| 27 | ; CHECK-NEXT: Kind: FUNCTION |
Nicholas Wilson | 5639da8 | 2018-03-12 15:44:07 +0000 | [diff] [blame] | 28 | ; CHECK-NEXT: Index: 1 |
Nicholas Wilson | 4cdf5b8 | 2018-03-01 09:38:02 +0000 | [diff] [blame] | 29 | ; CHECK-NEXT: - Type: |
Sam Clegg | 0f0a428 | 2018-01-20 01:44:45 +0000 | [diff] [blame] | 30 | |
Sam Clegg | 65d6380 | 2018-05-14 23:01:16 +0000 | [diff] [blame] | 31 | ; The __wasm_call_ctors is somewhat special since its created by the linker. |
| 32 | ; Make sure we can use it as the entry point if we choose |
Sam Clegg | 752494b | 2018-05-05 01:23:07 +0000 | [diff] [blame] | 33 | ; RUN: wasm-ld --entry=__wasm_call_ctors -o %t3.wasm %t.o |
Sam Clegg | 0f0a428 | 2018-01-20 01:44:45 +0000 | [diff] [blame] | 34 | ; 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 Clegg | 0362633 | 2018-01-31 01:45:47 +0000 | [diff] [blame] | 43 | ; CHECK-CTOR-NEXT: Index: 0 |
Nicholas Wilson | 4cdf5b8 | 2018-03-01 09:38:02 +0000 | [diff] [blame] | 44 | ; 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: |