brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.4 KiB · 340cd5a Raw
94 lines · plain
1# RUN: llvm-mc -triple=wasm32-unknown-unknown < %s | FileCheck %s2# RUN: llvm-mc -triple=wasm32-unknown-unknown -filetype=obj -o %t.o < %s3# RUN: obj2yaml %t.o | FileCheck %s --check-prefix=CHECK-OBJ4 5.globaltype __tls_base, i326 7tls_store:8  .functype tls_store (i32) -> ()9  # CHECK: global.get __tls_base10  # CHECK-NEXT: i32.const tls1@TLSREL11  # CHECK-NEXT: i32.add12  # CHECK-NEXT: local.get 013  # CHECK-NEXT: i32.store 014  global.get __tls_base15  i32.const tls1@TLSREL16  i32.add17  local.get 018  i32.store 019  end_function20 21tls_get_undefined:22  .functype tls_get_undefined (i32) -> (i32)23  global.get tls_undefined@GOT@TLS24  end_function25 26.section .tls.foo,"T",@27# CHECK: .tls.foo,"T",@28tls1:29  .int32 4230  .size tls1, 431 32.section custom_tls,"T",@33# CHECK: custom_tls,"T",@34tls2:35  .int32 4336  .size tls2, 437 38#      CHECK-OBJ:  - Type:            CODE39# CHECK-OBJ-NEXT:    Relocations:40# CHECK-OBJ-NEXT:      - Type:            R_WASM_GLOBAL_INDEX_LEB41# CHECK-OBJ-NEXT:        Index:           142# CHECK-OBJ-NEXT:        Offset:          0x443# CHECK-OBJ-NEXT:      - Type:            R_WASM_MEMORY_ADDR_TLS_SLEB44# CHECK-OBJ-NEXT:        Index:           245# CHECK-OBJ-NEXT:        Offset:          0xA46# CHECK-OBJ-NEXT:      - Type:            R_WASM_GLOBAL_INDEX_LEB47# CHECK-OBJ-NEXT:        Index:           448# CHECK-OBJ-NEXT:        Offset:          0x1949 50#      CHECK-OBJ:  - Type:            CUSTOM51# CHECK-OBJ-NEXT:    Name:            linking52# CHECK-OBJ-NEXT:    Version:         253# CHECK-OBJ-NEXT:    SymbolTable:54# CHECK-OBJ-NEXT:      - Index:           055# CHECK-OBJ-NEXT:        Kind:            FUNCTION56# CHECK-OBJ-NEXT:        Name:            tls_store57# CHECK-OBJ-NEXT:        Flags:           [ BINDING_LOCAL ]58# CHECK-OBJ-NEXT:        Function:        059# CHECK-OBJ-NEXT:      - Index:           160# CHECK-OBJ-NEXT:        Kind:            GLOBAL61# CHECK-OBJ-NEXT:        Name:            __tls_base62# CHECK-OBJ-NEXT:        Flags:           [ UNDEFINED ]63# CHECK-OBJ-NEXT:        Global:          064# CHECK-OBJ-NEXT:      - Index:           265# CHECK-OBJ-NEXT:        Kind:            DATA66# CHECK-OBJ-NEXT:        Name:            tls167# CHECK-OBJ-NEXT:        Flags:           [ BINDING_LOCAL, TLS ]68# CHECK-OBJ-NEXT:        Segment:         069# CHECK-OBJ-NEXT:        Size:            470# CHECK-OBJ-NEXT:      - Index:           371# CHECK-OBJ-NEXT:        Kind:            FUNCTION72# CHECK-OBJ-NEXT:        Name:            tls_get_undefined73# CHECK-OBJ-NEXT:        Flags:           [ BINDING_LOCAL ]74# CHECK-OBJ-NEXT:        Function:        175# CHECK-OBJ-NEXT:      - Index:           476# CHECK-OBJ-NEXT:        Kind:            DATA77# CHECK-OBJ-NEXT:        Name:            tls_undefined78# CHECK-OBJ-NEXT:        Flags:           [ UNDEFINED, TLS ]79# CHECK-OBJ-NEXT:      - Index:           580# CHECK-OBJ-NEXT:        Kind:            DATA81# CHECK-OBJ-NEXT:        Name:            tls282# CHECK-OBJ-NEXT:        Flags:           [ BINDING_LOCAL, TLS ]83# CHECK-OBJ-NEXT:        Segment:         184# CHECK-OBJ-NEXT:        Size:            485# CHECK-OBJ-NEXT:    SegmentInfo:86# CHECK-OBJ-NEXT:      - Index:           087# CHECK-OBJ-NEXT:        Name:            .tls.foo88# CHECK-OBJ-NEXT:        Alignment:       089# CHECK-OBJ-NEXT:        Flags:           [ TLS ]90# CHECK-OBJ-NEXT:      - Index:           191# CHECK-OBJ-NEXT:        Name:            custom_tls92# CHECK-OBJ-NEXT:        Alignment:       093# CHECK-OBJ-NEXT:        Flags:           [ TLS ]94