# RUN: llvm-mc -triple=powerpc64le-unknown-unknown -filetype=obj %s 2>&1 | \ # RUN: FileCheck %s -check-prefix=MC # RUN: llvm-mc -triple=powerpc64le-unknown-unknown -filetype=obj %s | \ # RUN: llvm-readobj -r - | FileCheck %s -check-prefix=READOBJ # RUN: llvm-mc -triple=powerpc64-unknown-unknown -filetype=obj %s 2>&1 | \ # RUN: FileCheck %s -check-prefix=MC # RUN: llvm-mc -triple=powerpc64-unknown-unknown -filetype=obj %s | \ # RUN: llvm-readobj -r - | FileCheck %s -check-prefix=READOBJ # This test checks that on Power PC we can correctly convert @pcrel and # @got@pcrel into R_PPC64_PCREL34 and R_PPC64_GOT_PCREL34. # MC-NOT: error: invalid variant # READOBJ: 0x0 R_PPC64_PCREL34 locvalue 0x0 # READOBJ-NEXT: 0x20 R_PPC64_GOT_PCREL34 evalue 0x0 .text .abiversion 2 .globl local # -- Begin function local .p2align 4 .type local,@function local: # @local .Llocal$local: .Lfunc_begin0: # %bb.0: # %entry plwa 3, locvalue@PCREL(0), 1 blr .long 0 .quad 0 .Lfunc_end0: .size local, .Lfunc_end0-.Lfunc_begin0 # -- End function .globl external # -- Begin function external .p2align 4 .type external,@function external: # @external .Lexternal$local: .Lfunc_begin1: # %bb.0: # %entry pld 3, evalue@got@pcrel(0), 1 lwa 3, 0(3) blr .long 0 .quad 0 .Lfunc_end1: .size external, .Lfunc_end1-.Lfunc_begin1 # -- End function .type locvalue,@object # @locvalue .section .bss,"aw",@nobits .globl locvalue .p2align 2 locvalue: .Llocvalue$local: .long 0 # 0x0 .size locvalue, 4