# REQUIRES: ppc # RUN: split-file %s %t # RUN: llvm-mc -filetype=obj -triple=ppc64le %t/asm -o %t.o # RUN: not ld.lld --script %t/lds %t.o -o %t1 2>&1 | FileCheck %s # RUN: ld.lld --script %t/lds %t.o -o %t1 --noinhibit-exec # RUN: rm %t.o %t1 # RUN: llvm-mc -filetype=obj -triple=ppc64 %t/asm -o %t.o # RUN: not ld.lld --script %t/lds %t.o -o %t1 2>&1 | FileCheck %s # RUN: ld.lld --script %t/lds %t.o -o %t1 --noinhibit-exec # RUN: rm %t.o %t1 # CHECK: error: R12 setup stub offset is out of range: 8589934592 is not in [-8589934592, 8589934591]; references callee # CHECK-NEXT: >>> defined in {{.*}}.o //--- asm .section .text_high, "ax", %progbits callee: .Lfunc_gep1: addis 2, 12, .TOC.-.Lfunc_gep1@ha addi 2, 2, .TOC.-.Lfunc_gep1@l .Lfunc_lep1: .localentry callee, .Lfunc_lep1-.Lfunc_gep1 addis 4, 2, global@toc@ha lwz 4, global@toc@l(4) blr .section .text_low, "ax", %progbits caller: .localentry caller, 1 bl callee@notoc blr global: .long 0 //--- lds PHDRS { low PT_LOAD FLAGS(0x1 | 0x4); high PT_LOAD FLAGS(0x1 | 0x4); } SECTIONS { .text_low 0x2000 : { *(.text_low) } :low .text_high 0x200002010 : { *(.text_high) } :high }