# 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=ppc64le -defsym HIDDEN=1 %t/asm -o %t.o # RUN: not ld.lld -shared --script %t/lds %t.o -o %t1 2>&1 | FileCheck %s # RUN: ld.lld -shared --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 # RUN: llvm-mc -filetype=obj -triple=ppc64 -defsym HIDDEN=1 %t/asm -o %t.o # RUN: not ld.lld -shared --script %t/lds %t.o -o %t1 2>&1 | FileCheck %s # RUN: ld.lld -shared --script %t/lds %t.o -o %t1 --noinhibit-exec # RUN: rm %t.o %t1 # CHECK: error: PC-relative long branch stub offset is out of range: 8589934592 is not in [-8589934592, 8589934591]; references high # CHECK-NEXT: >>> defined in {{.*}}.o //--- asm .section .text_low, "ax", %progbits .globl _start _start: bl high@notoc blr .section .text_high, "ax", %progbits .ifdef HIDDEN .hidden high .endif .globl high high: blr //--- 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 }