1# test for little endian 2# RUN: rm -rf %t && mkdir -p %t 3# RUN: llvm-mc -triple=powerpc64le-unknown-linux-gnu -filetype=obj -o %t/ppc64_reloc.o %s 4# RUN: llvm-mc -triple=powerpc64le-unknown-linux-gnu -filetype=obj -o %t/ppc64_elf_module_b.o %S/Inputs/ppc64_elf_module_b.s 5# RUN: llvm-rtdyld -triple=powerpc64le-unknown-linux-gnu -verify -check=%s %t/ppc64_reloc.o %t/ppc64_elf_module_b.o 6# test for big endian 7# RUN: rm -rf %t && mkdir -p %t 8# RUN: llvm-mc -triple=powerpc64-unknown-linux-gnu -filetype=obj -o %t/ppc64_reloc.o %s 9# RUN: llvm-mc -triple=powerpc64-unknown-linux-gnu -filetype=obj -o %t/ppc64_elf_module_b.o %S/Inputs/ppc64_elf_module_b.s 10# RUN: llvm-rtdyld -triple=powerpc64-unknown-linux-gnu -verify -check=%s %t/ppc64_reloc.o %t/ppc64_elf_module_b.o 11 12 .text 13 .abiversion 2 14 .file "test.c" 15 .globl func 16 .p2align 4 17 .type func,@function 18func: # @func 19.Lfunc_begin0: 20.Lfunc_gep0: 21 addis 2, 12, .TOC.-.Lfunc_gep0@ha 22 addi 2, 2, .TOC.-.Lfunc_gep0@l 23.Lfunc_lep0: 24 .localentry func, .Lfunc_lep0-.Lfunc_gep0 25 mflr 0 26 std 31, -8(1) 27 std 0, 16(1) 28 stdu 1, -112(1) 29 mr 31, 1 30# confirm that LK flag is set for bl 31# rtdyld-check: (*{4}call_bl) & 1 = 1 32call_bl: 33 bl foo 34 nop 35 36 li 3, 0 37 addi 1, 1, 112 38 ld 0, 16(1) 39 ld 31, -8(1) 40 mtlr 0 41# confirm that LK flag is not set for b 42# rtdyld-check: (*{4}call_b) & 1 = 0 43call_b: 44 b foo 45 .long 0 46 .quad 0 47.Lfunc_end0: 48 .size func, .Lfunc_end0-.Lfunc_begin0 49