# RUN: llvm-mc -triple=wasm32-unknown-unknown < %s | FileCheck %s # RUN: llvm-mc -triple=wasm32-unknown-unknown -filetype=obj -o %t.o < %s # RUN: obj2yaml %t.o | FileCheck %s --check-prefix=CHECK-OBJ tls_store: .functype tls_store (i32) -> () # CHECK: global.get __tls_base # CHECK-NEXT: i32.const tls@TLSREL # CHECK-NEXT: i32.add # CHECK-NEXT: i32.store 0 global.get __tls_base i32.const tls@TLSREL i32.add i32.store 0 end_function # CHECK-OBJ: - Type: CODE # CHECK-OBJ-NEXT: Relocations: # CHECK-OBJ-NEXT: - Type: R_WASM_MEMORY_ADDR_LEB # CHECK-OBJ-NEXT: Index: 1 # CHECK-OBJ-NEXT: Offset: 0x4 # CHECK-OBJ-NEXT: - Type: R_WASM_MEMORY_ADDR_TLS_SLEB # CHECK-OBJ-NEXT: Index: 2 # CHECK-OBJ-NEXT: Offset: 0xA # CHECK-OBJ: - Type: CUSTOM # CHECK-OBJ-NEXT: Name: linking # CHECK-OBJ-NEXT: Version: 2 # CHECK-OBJ-NEXT: SymbolTable: # CHECK-OBJ-NEXT: - Index: 0 # CHECK-OBJ-NEXT: Kind: FUNCTION # CHECK-OBJ-NEXT: Name: tls_store # CHECK-OBJ-NEXT: Flags: [ BINDING_LOCAL ] # CHECK-OBJ-NEXT: Function: 0 # CHECK-OBJ-NEXT: - Index: 1 # CHECK-OBJ-NEXT: Kind: DATA # CHECK-OBJ-NEXT: Name: __tls_base # CHECK-OBJ-NEXT: Flags: [ UNDEFINED ] # CHECK-OBJ-NEXT: - Index: 2 # CHECK-OBJ-NEXT: Kind: DATA # CHECK-OBJ-NEXT: Name: tls # CHECK-OBJ-NEXT: Flags: [ UNDEFINED ]