1// REQUIRES: ppc 2 3// RUN: llvm-mc -filetype=obj -triple=powerpc64le-unknown-linux %s -o %t.o 4// RUN: llvm-mc -filetype=obj -triple=powerpc64le-unknown-linux %p/Inputs/shared-ppc64.s -o %t2.o 5// RUN: ld.lld -shared %t2.o -o %t2.so 6// RUN: not ld.lld %t.o %t2.so -o /dev/null 2>&1 | FileCheck %s 7 8// RUN: llvm-mc -filetype=obj -triple=powerpc64-unknown-linux %s -o %t.o 9// RUN: llvm-mc -filetype=obj -triple=powerpc64-unknown-linux %p/Inputs/shared-ppc64.s -o %t2.o 10// RUN: ld.lld -shared %t2.o -o %t2.so 11// RUN: not ld.lld %t.o %t2.so -o /dev/null 2>&1 | FileCheck %s 12 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 toc 15// CHECK-NOT: lacks nop 16 .text 17 .abiversion 2 18 19.global _start 20_start: 21 b foo 22 23 // gcc/gfortran 5.4, 6.3 and earlier versions do not add nop for recursive 24 // calls. 25 b _start 26 b _start 27