1; RUN: llc -mattr=+bulk-memory,+atomics -filetype=obj %s -o %t.o 2 3target triple = "wasm32-unknown-unknown" 4 5@no_tls = global i32 0, align 4 6@tls1 = thread_local(localexec) global i32 1, align 4 7@tls2 = thread_local(localexec) global i32 1, align 16 8 9define i32* @tls1_addr() { 10 ret i32* @tls1 11} 12 13define i32* @tls2_addr() { 14 ret i32* @tls2 15} 16 17; RUN: wasm-ld -no-gc-sections --shared-memory --max-memory=131072 --no-entry -o %t.wasm %t.o 18; RUN: obj2yaml %t.wasm | FileCheck %s 19 20; CHECK: - Type: GLOBAL 21; CHECK-NEXT: Globals: 22; CHECK-NEXT: - Index: 0 23; CHECK-NEXT: Type: I32 24; CHECK-NEXT: Mutable: true 25; CHECK-NEXT: InitExpr: 26; CHECK-NEXT: Opcode: I32_CONST 27; CHECK-NEXT: Value: 66592 28 29; __tls_base 30; CHECK-NEXT: - Index: 1 31; CHECK-NEXT: Type: I32 32; CHECK-NEXT: Mutable: true 33; CHECK-NEXT: InitExpr: 34; CHECK-NEXT: Opcode: I32_CONST 35; CHECK-NEXT: Value: 0 36 37; __tls_size 38; CHECK-NEXT: - Index: 2 39; CHECK-NEXT: Type: I32 40; CHECK-NEXT: Mutable: false 41; CHECK-NEXT: InitExpr: 42; CHECK-NEXT: Opcode: I32_CONST 43; CHECK-NEXT: Value: 20 44 45; __tls_align 46; CHECK-NEXT: - Index: 3 47; CHECK-NEXT: Type: I32 48; CHECK-NEXT: Mutable: false 49; CHECK-NEXT: InitExpr: 50; CHECK-NEXT: Opcode: I32_CONST 51; CHECK-NEXT: Value: 16 52