1RUN: llvm-mc -filetype=obj -triple=wasm32-unknown-unknown %p/Inputs/start.s -o %t.o
2
3RUN: wasm-ld --export=__global_base --export=__data_end --allow-undefined -o %t.wasm %t.o
4RUN: obj2yaml %t.wasm | FileCheck %s  -check-prefix=CHECK-1024
5CHECK-1024:       - Type:            GLOBAL
6CHECK-1024-NEXT:    Globals:
7CHECK-1024-NEXT:      - Index:           0
8CHECK-1024-NEXT:        Type:            I32
9CHECK-1024-NEXT:        Mutable:         true
10CHECK-1024-NEXT:        InitExpr:
11CHECK-1024-NEXT:          Opcode:          I32_CONST
12CHECK-1024-NEXT:          Value:           66560
13CHECK-1024-NEXT:      - Index:           1
14CHECK-1024-NEXT:        Type:            I32
15CHECK-1024-NEXT:        Mutable:         false
16CHECK-1024-NEXT:        InitExpr:
17CHECK-1024-NEXT:          Opcode:          I32_CONST
18CHECK-1024-NEXT:          Value:           1024
19CHECK-1024-NEXT:      - Index:           2
20CHECK-1024-NEXT:        Type:            I32
21CHECK-1024-NEXT:        Mutable:         false
22CHECK-1024-NEXT:        InitExpr:
23CHECK-1024-NEXT:          Opcode:          I32_CONST
24CHECK-1024-NEXT:          Value:           1024
25
26CHECK-1024:       - Type:            EXPORT
27CHECK-1024:           - Name:            __data_end
28CHECK-1024-NEXT:        Kind:            GLOBAL
29CHECK-1024-NEXT:        Index:           1
30CHECK-1024-NEXT:      - Name:            __global_base
31CHECK-1024-NEXT:        Kind:            GLOBAL
32CHECK-1024-NEXT:        Index:           2
33
34RUN: wasm-ld --export=__global_base --export=__data_end --allow-undefined --global-base=16777216 -o %t.wasm %t.o
35RUN: obj2yaml %t.wasm | FileCheck %s  -check-prefix=CHECK-16777216
36CHECK-16777216:       - Type:            GLOBAL
37CHECK-16777216-NEXT:    Globals:
38CHECK-16777216-NEXT:      - Index:           0
39CHECK-16777216-NEXT:        Type:            I32
40CHECK-16777216-NEXT:        Mutable:         true
41CHECK-16777216-NEXT:        InitExpr:
42CHECK-16777216-NEXT:          Opcode:          I32_CONST
43CHECK-16777216-NEXT:          Value:           16842752
44CHECK-16777216-NEXT:      - Index:           1
45CHECK-16777216-NEXT:        Type:            I32
46CHECK-16777216-NEXT:        Mutable:         false
47CHECK-16777216-NEXT:        InitExpr:
48CHECK-16777216-NEXT:          Opcode:          I32_CONST
49CHECK-16777216-NEXT:          Value:           16777216
50CHECK-16777216-NEXT:      - Index:           2
51CHECK-16777216-NEXT:        Type:            I32
52CHECK-16777216-NEXT:        Mutable:         false
53CHECK-16777216-NEXT:        InitExpr:
54CHECK-16777216-NEXT:          Opcode:          I32_CONST
55CHECK-16777216-NEXT:          Value:           16777216
56
57CHECK-16777216:       - Type:            EXPORT
58CHECK-16777216:           - Name:            __data_end
59CHECK-16777216-NEXT:        Kind:            GLOBAL
60CHECK-16777216-NEXT:        Index:           1
61CHECK-16777216-NEXT:      - Name:            __global_base
62CHECK-16777216-NEXT:        Kind:            GLOBAL
63CHECK-16777216-NEXT:        Index:           2
64