xref: /llvm-project/lld/test/wasm/tls-non-shared-memory-basic.s (revision 6355234660551e7562e2ace512ccaefacbbb9065)
1# Simplified version of tls-non-shared-memory.s that does not reference
2# __tls_base
3
4# RUN: llvm-mc -filetype=obj -triple=wasm32-unknown-unknown -o %t.o %s
5
6.section  .tdata.tls1,"",@
7.globl  tls1
8.p2align  2
9tls1:
10  .int32  43
11  .size tls1, 2
12
13.section  .custom_section.target_features,"",@
14  .int8 2
15  .int8 43
16  .int8 7
17  .ascii  "atomics"
18  .int8 43
19  .int8 11
20  .ascii  "bulk-memory"
21
22# RUN: wasm-ld --no-gc-sections --no-entry -o %t.wasm %t.o
23# RUN: obj2yaml %t.wasm | FileCheck %s
24
25# RUN: wasm-ld --experimental-pic -shared -o %t.so %t.o
26# RUN: obj2yaml %t.so | FileCheck %s --check-prefix=PIC
27
28#      CHECK:  - Type:            DATA
29# CHECK-NEXT:    Segments:
30# CHECK-NEXT:      - SectionOffset:   7
31# CHECK-NEXT:        InitFlags:       0
32# CHECK-NEXT:        Offset:
33# CHECK-NEXT:          Opcode:          I32_CONST
34# CHECK-NEXT:          Value:           1024
35# CHECK-NEXT:        Content:         2B000000
36# CHECK-NEXT:  - Type:            CUSTOM
37# CHECK-NOT:   - Type:            IMPORT
38
39
40# In PIC mode we expect TLS data and non-TLS data to be merged into
41# a single segment which is initialized via the  __memory_base import
42
43#      PIC:  - Type:            IMPORT
44# PIC-NEXT:    Imports:
45# PIC-NEXT:      - Module:          env
46# PIC-NEXT:        Field:           memory
47# PIC-NEXT:        Kind:            MEMORY
48# PIC-NEXT:        Memory:
49# PIC-NEXT:          Minimum:         0x1
50# PIC-NEXT:      - Module:          env
51# PIC-NEXT:        Field:           __memory_base
52# PIC-NEXT:        Kind:            GLOBAL
53# PIC-NEXT:        GlobalType:      I32
54
55#      PIC:  - Type:            DATA
56# PIC-NEXT:    Segments:
57# PIC-NEXT:      - SectionOffset:   6
58# PIC-NEXT:        InitFlags:       0
59# PIC-NEXT:        Offset:
60# PIC-NEXT:          Opcode:          GLOBAL_GET
61# PIC-NEXT:          Index:           0
62# PIC-NEXT:        Content:         2B000000
63# PIC-NEXT:  - Type:            CUSTOM
64