1# RUN: rm -rf %t && mkdir -p %t 2# RUN: llvm-mc -triple=powerpc64le-unknown-linux-gnu -filetype=obj -o %t/ppc64_elf.o %s 3# RUN: llvm-mc -triple=powerpc64le-unknown-linux-gnu -filetype=obj -o %t/ppc64_elf_module_b.o %S/Inputs/ppc64_elf_module_b.s 4# RUN: llvm-rtdyld -triple=powerpc64le-unknown-linux-gnu -verify -check=%s %t/ppc64_elf.o %t/ppc64_elf_module_b.o 5 6 .text 7 .abiversion 2 8 .file "Module2.ll" 9 .globl bar # -- Begin function bar 10 .p2align 4 11 .type bar,@function 12.Lfunc_toc0: # @bar 13 .quad .TOC.-.Lfunc_gep0 14bar: 15.Lfunc_begin0: 16 .cfi_startproc 17.Lfunc_gep0: 18 ld 2, .Lfunc_toc0-.Lfunc_gep0(12) 19 add 2, 2, 12 20.Lfunc_lep0: 21 .localentry bar, .Lfunc_lep0-.Lfunc_gep0 22# %bb.0: 23 mflr 0 24 std 0, 16(1) 25 stdu 1, -32(1) 26 .cfi_def_cfa_offset 32 27 .cfi_offset lr, 16 28# rtdyld-check: (*{4}(stub_addr(ppc64_elf.o/.text, foo) + 0)) [15:0] = foo_gep [63:48] 29# rtdyld-check: (*{4}(stub_addr(ppc64_elf.o/.text, foo) + 4)) [15:0] = foo_gep [47:32] 30# rtdyld-check: (*{4}(stub_addr(ppc64_elf.o/.text, foo) + 12)) [15:0] = foo_gep [31:16] 31# rtdyld-check: (*{4}(stub_addr(ppc64_elf.o/.text, foo) + 16)) [15:0] = foo_gep [15:0] 32# rtdyld-check: decode_operand(foo_call, 0) = (stub_addr(ppc64_elf.o/.text, foo) - foo_call) >> 2 33foo_call: 34 bl foo 35 nop 36 addi 1, 1, 32 37 ld 0, 16(1) 38 mtlr 0 39 blr 40 .long 0 41 .quad 0 42.Lfunc_end0: 43 .size bar, .Lfunc_end0-.Lfunc_begin0 44 .cfi_endproc 45 # -- End function 46 47 .section ".note.GNU-stack","",@progbits 48