27 lines · plain
1// REQUIRES: ppc2 3// RUN: llvm-mc -filetype=obj -triple=powerpc64le-unknown-linux %s -o %t.o4// RUN: llvm-mc -filetype=obj -triple=powerpc64le-unknown-linux %p/Inputs/shared-ppc64.s -o %t2.o5// RUN: ld.lld -shared %t2.o -o %t2.so6// RUN: not ld.lld %t.o %t2.so -o /dev/null 2>&1 | FileCheck %s7 8// RUN: llvm-mc -filetype=obj -triple=powerpc64-unknown-linux %s -o %t.o9// RUN: llvm-mc -filetype=obj -triple=powerpc64-unknown-linux %p/Inputs/shared-ppc64.s -o %t2.o10// RUN: ld.lld -shared %t2.o -o %t2.so11// RUN: not ld.lld %t.o %t2.so -o /dev/null 2>&1 | FileCheck %s12 13# A tail call to an external function without a nop should issue an error.14// CHECK: call to foo lacks nop, can't restore toc15// CHECK-NOT: lacks nop16 .text17 .abiversion 218 19.global _start20_start:21 b foo22 23 // gcc/gfortran 5.4, 6.3 and earlier versions do not add nop for recursive24 // calls.25 b _start26 b _start27