# test for little endian # RUN: rm -rf %t && mkdir -p %t # RUN: llvm-mc -triple=powerpc64le-unknown-linux-gnu -filetype=obj -o %t/ppc64_reloc.o %s # RUN: llvm-mc -triple=powerpc64le-unknown-linux-gnu -filetype=obj -o %t/ppc64_elf_module_b.o %S/Inputs/ppc64_elf_module_b.s # RUN: llvm-rtdyld -triple=powerpc64le-unknown-linux-gnu -verify -check=%s %t/ppc64_reloc.o %t/ppc64_elf_module_b.o # test for big endian # RUN: rm -rf %t && mkdir -p %t # RUN: llvm-mc -triple=powerpc64-unknown-linux-gnu -filetype=obj -o %t/ppc64_reloc.o %s # RUN: llvm-mc -triple=powerpc64-unknown-linux-gnu -filetype=obj -o %t/ppc64_elf_module_b.o %S/Inputs/ppc64_elf_module_b.s # RUN: llvm-rtdyld -triple=powerpc64-unknown-linux-gnu -verify -check=%s %t/ppc64_reloc.o %t/ppc64_elf_module_b.o .text .abiversion 2 .file "test.c" .globl func .p2align 4 .type func,@function func: # @func .Lfunc_begin0: .Lfunc_gep0: addis 2, 12, .TOC.-.Lfunc_gep0@ha addi 2, 2, .TOC.-.Lfunc_gep0@l .Lfunc_lep0: .localentry func, .Lfunc_lep0-.Lfunc_gep0 mflr 0 std 31, -8(1) std 0, 16(1) stdu 1, -112(1) mr 31, 1 # confirm that LK flag is set for bl # rtdyld-check: (*{4}call_bl) & 1 = 1 call_bl: bl foo nop li 3, 0 addi 1, 1, 112 ld 0, 16(1) ld 31, -8(1) mtlr 0 # confirm that LK flag is not set for b # rtdyld-check: (*{4}call_b) & 1 = 0 call_b: b foo .long 0 .quad 0 .Lfunc_end0: .size func, .Lfunc_end0-.Lfunc_begin0