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