34 lines · plain
1# RUN: llvm-mc -triple=powerpc64le-unknown-unknown -filetype=obj %s 2>&1 | \2# RUN: FileCheck %s -check-prefix=MC3# RUN: llvm-mc -triple=powerpc64le-unknown-unknown -filetype=obj %s | \4# RUN: llvm-readobj -r - | FileCheck %s -check-prefix=READOBJ5 6# This test checks that on Power PC we can correctly convert @got@tlsld@pcrel7# x@tlsld, __tls_get_addr@notoc and x@DTPREL into R_PPC64_GOT_TLSLD_PCREL34,8# R_PPC64_TLSLD, R_PPC64_REL24_NOTOC and R_PPC64_DTPREL34 for local dynamic9# relocations with address/value loaded10 11# MC-NOT: error: invalid variant12 13# READOBJ: 0x0 R_PPC64_GOT_TLSLD_PCREL34 x 0x014# READOBJ-NEXT: 0x8 R_PPC64_TLSLD x 0x015# READOBJ-NEXT: 0x8 R_PPC64_REL24_NOTOC __tls_get_addr 0x016# READOBJ-NEXT: 0xC R_PPC64_DTPREL34 x 0x017# READOBJ-NEXT: 0x18 R_PPC64_GOT_TLSLD_PCREL34 x 0x018# READOBJ-NEXT: 0x20 R_PPC64_TLSLD x 0x019# READOBJ-NEXT: 0x20 R_PPC64_REL24_NOTOC __tls_get_addr 0x020# READOBJ-NEXT: 0x24 R_PPC64_DTPREL34 x 0x021 22LocalDynamicAddrLoad:23 paddi 3, 0, x@got@tlsld@pcrel, 124 bl __tls_get_addr@notoc(x@tlsld)25 paddi 3, 3, x@DTPREL, 026 blr27 28LocalDynamicValueLoad:29 paddi 3, 0, x@got@tlsld@pcrel, 130 bl __tls_get_addr@notoc(x@tlsld)31 paddi 3, 3, x@DTPREL, 032 lwz 3, 0(3)33 blr34