blob: a32e78849b60b342163b3a337c0a62ccb37bd1bd [file] [log] [blame]
Sam Cleggbd0416d2017-12-19 00:18:16 +00001; RUN: llc -filetype=obj -mtriple=wasm32-unknown-unknown-wasm %p/Inputs/hello.ll -o %t.hello.o
2; RUN: llc -filetype=obj -mtriple=wasm32-unknown-unknown-wasm %s -o %t.o
Sam Clegg2c096ba2017-12-08 17:58:25 +00003; RUN: lld -flavor wasm --emit-relocs --allow-undefined --no-entry -o %t.wasm %t.o %t.hello.o
Sam Cleggc94d3932017-11-17 18:14:09 +00004; RUN: obj2yaml %t.wasm | FileCheck %s
5
Sam Cleggc94d3932017-11-17 18:14:09 +00006@foo = hidden global i32 1, align 4
7@aligned_bar = hidden global i32 3, align 16
8
9@hello_str = external global i8*
10@external_ref = global i8** @hello_str, align 8
11
12; CHECK: - Type: GLOBAL
13; CHECK-NEXT: Globals:
Sam Cleggf50534b2018-01-09 21:47:36 +000014; CHECK-NEXT: - Index: 0
15; CHECK-NEXT: Type: I32
Sam Cleggc94d3932017-11-17 18:14:09 +000016; CHECK-NEXT: Mutable: true
Rui Ueyama1ce416c2017-12-12 20:00:30 +000017; CHECK-NEXT: InitExpr:
Sam Cleggc94d3932017-11-17 18:14:09 +000018; CHECK-NEXT: Opcode: I32_CONST
19; CHECK-NEXT: Value: 66608
Sam Cleggf50534b2018-01-09 21:47:36 +000020; CHECK-NEXT: - Index: 1
21; CHECK-NEXT: Type: I32
Sam Cleggc94d3932017-11-17 18:14:09 +000022; CHECK-NEXT: Mutable: false
23; CHECK-NEXT: InitExpr:
24; CHECK-NEXT: Opcode: I32_CONST
25; CHECK-NEXT: Value: 1024
Sam Cleggf50534b2018-01-09 21:47:36 +000026; CHECK-NEXT: - Index: 2
27; CHECK-NEXT: Type: I32
Sam Cleggc94d3932017-11-17 18:14:09 +000028; CHECK-NEXT: Mutable: false
29; CHECK-NEXT: InitExpr:
30; CHECK-NEXT: Opcode: I32_CONST
31; CHECK-NEXT: Value: 1040
Sam Cleggf50534b2018-01-09 21:47:36 +000032; CHECK-NEXT: - Index: 3
33; CHECK-NEXT: Type: I32
Sam Cleggc94d3932017-11-17 18:14:09 +000034; CHECK-NEXT: Mutable: false
35; CHECK-NEXT: InitExpr:
36; CHECK-NEXT: Opcode: I32_CONST
37; CHECK-NEXT: Value: 1048
Sam Cleggf50534b2018-01-09 21:47:36 +000038; CHECK-NEXT: - Index: 4
39; CHECK-NEXT: Type: I32
Sam Clegg3f1fb882017-12-11 21:52:21 +000040; CHECK-NEXT: Mutable: false
41; CHECK-NEXT: InitExpr:
42; CHECK-NEXT: Opcode: I32_CONST
43; CHECK-NEXT: Value: 1052
Sam Cleggc94d3932017-11-17 18:14:09 +000044
45; CHECK: - Type: DATA
46; CHECK-NEXT: Relocations:
47; CHECK-NEXT: - Type: R_WEBASSEMBLY_MEMORY_ADDR_I32
Sam Clegg3f1fb882017-12-11 21:52:21 +000048; CHECK-NEXT: Index: 4
Sam Cleggc94d3932017-11-17 18:14:09 +000049; CHECK-NEXT: Offset: 0x0000001F
50; CHECK-NEXT: Segments:
51; CHECK-NEXT: - SectionOffset: 7
52; CHECK-NEXT: MemoryIndex: 0
53; CHECK-NEXT: Offset:
54; CHECK-NEXT: Opcode: I32_CONST
55; CHECK-NEXT: Value: 1024
56; CHECK-NEXT: Content: 0100000000000000000000000000000003000000000000001C040000
57; CHECK-NEXT: - SectionOffset: 41
58; CHECK-NEXT: MemoryIndex: 0
59; CHECK-NEXT: Offset:
60; CHECK-NEXT: Opcode: I32_CONST
61; CHECK-NEXT: Value: 1052
62; CHECK-NEXT: Content: 68656C6C6F0A00
63
64; CHECK: - Type: CUSTOM
65; CHECK-NEXT: Name: linking
66; CHECK-NEXT: DataSize: 35