1 ; RUN: llc -filetype=obj %s -o %t.o
2 ; RUN: wasm-ld --relocatable -o %t.wasm %t.o
3 ; RUN: obj2yaml %t.wasm | FileCheck %s
5 target triple = "wasm32-unknown-unknown"
7 ; Function Attrs: nounwind
8 define i32 @_start() local_unnamed_addr {
10 %retval = alloca i32, align 4
15 ; CHECK-NEXT: FileHeader:
16 ; CHECK-NEXT: Version: 0x00000001
17 ; CHECK-NEXT: Sections:
18 ; CHECK-NEXT: - Type: TYPE
19 ; CHECK-NEXT: Signatures:
20 ; CHECK-NEXT: - Index: 0
21 ; CHECK-NEXT: ReturnType: I32
22 ; CHECK-NEXT: ParamTypes:
23 ; CHECK-NEXT: - Type: IMPORT
24 ; CHECK-NEXT: Imports:
25 ; CHECK-NEXT: - Module: env
26 ; CHECK-NEXT: Field: __stack_pointer
27 ; CHECK-NEXT: Kind: GLOBAL
28 ; CHECK-NEXT: GlobalType: I32
29 ; CHECK-NEXT: GlobalMutable: true
30 ; CHECK-NEXT: - Type: FUNCTION
31 ; CHECK-NEXT: FunctionTypes: [ 0 ]
32 ; CHECK-NEXT: - Type: TABLE
34 ; CHECK-NEXT: - ElemType: ANYFUNC
36 ; CHECK-NEXT: Flags: [ HAS_MAX ]
37 ; CHECK-NEXT: Initial: 0x00000001
38 ; CHECK-NEXT: Maximum: 0x00000001
39 ; CHECK-NEXT: - Type: MEMORY
40 ; CHECK-NEXT: Memories:
41 ; CHECK-NEXT: - Initial: 0x00000000
42 ; CHECK-NEXT: - Type: CODE
43 ; CHECK-NEXT: Relocations:
44 ; CHECK-NEXT: - Type: R_WEBASSEMBLY_GLOBAL_INDEX_LEB
45 ; CHECK-NEXT: Index: 1
46 ; CHECK-NEXT: Offset: 0x00000004
47 ; CHECK-NEXT: Functions:
48 ; CHECK-NEXT: - Index: 0
50 ; CHECK-NEXT: Body: 23808080800041106B1A41000B
51 ; CHECK-NEXT: - Type: CUSTOM
52 ; CHECK-NEXT: Name: linking
53 ; CHECK-NEXT: Version: 1
54 ; CHECK-NEXT: SymbolTable:
55 ; CHECK-NEXT: - Index: 0
56 ; CHECK-NEXT: Kind: FUNCTION
57 ; CHECK-NEXT: Name: _start
58 ; CHECK-NEXT: Flags: [ ]
59 ; CHECK-NEXT: Function: 0
60 ; CHECK-NEXT: - Index: 1
61 ; CHECK-NEXT: Kind: GLOBAL
62 ; CHECK-NEXT: Name: __stack_pointer
63 ; CHECK-NEXT: Flags: [ UNDEFINED ]
64 ; CHECK-NEXT: Global: 0
65 ; CHECK-NEXT: - Type: CUSTOM
66 ; CHECK-NEXT: Name: name
67 ; CHECK-NEXT: FunctionNames:
68 ; CHECK-NEXT: - Index: 0
69 ; CHECK-NEXT: Name: _start