1# REQUIRES: ppc 2# RUN: split-file %s %t 3# RUN: llvm-mc -filetype=obj -triple=ppc64le %t/asm -o %t.o 4# RUN: not ld.lld --script %t/lds %t.o -o %t1 2>&1 | FileCheck %s 5# RUN: ld.lld --script %t/lds %t.o -o %t1 --noinhibit-exec 6# RUN: rm %t.o %t1 7 8# RUN: llvm-mc -filetype=obj -triple=ppc64 %t/asm -o %t.o 9# RUN: not ld.lld --script %t/lds %t.o -o %t1 2>&1 | FileCheck %s 10# RUN: ld.lld --script %t/lds %t.o -o %t1 --noinhibit-exec 11# RUN: rm %t.o %t1 12 13# CHECK: error: R12 setup stub offset is out of range: 8589934592 is not in [-8589934592, 8589934591]; references callee 14# CHECK-NEXT: >>> defined in {{.*}}.o 15 16//--- asm 17.section .text_high, "ax", %progbits 18callee: 19 .Lfunc_gep1: 20 addis 2, 12, .TOC.-.Lfunc_gep1@ha 21 addi 2, 2, .TOC.-.Lfunc_gep1@l 22 .Lfunc_lep1: 23 .localentry callee, .Lfunc_lep1-.Lfunc_gep1 24 addis 4, 2, global@toc@ha 25 lwz 4, global@toc@l(4) 26 blr 27 28.section .text_low, "ax", %progbits 29caller: 30 .localentry caller, 1 31 bl callee@notoc 32 blr 33global: 34 .long 0 35 36//--- lds 37PHDRS { 38 low PT_LOAD FLAGS(0x1 | 0x4); 39 high PT_LOAD FLAGS(0x1 | 0x4); 40} 41SECTIONS { 42 .text_low 0x2000 : { *(.text_low) } :low 43 .text_high 0x200002010 : { *(.text_high) } :high 44} 45