1# REQUIRES: x86 2# UNSUPPORTED: system-windows 3 4# RUN: rm -rf %t && split-file %s %t && cd %t 5# RUN: chmod +x a.sh 6# RUN: llvm-mc -filetype=obj -triple=x86_64 /dev/null -o 0.o 7# RUN: not ld.lld -lidontexist --error-handling-script=%t/a.sh 0.o 2>&1 |\ 8# RUN: FileCheck --check-prefix=CHECK-LIB %s --match-full-lines --strict-whitespace 9# RUN: not ld.lld -lidontexist --error-handling-script=./notexist 0.o 2>&1 |\ 10# RUN: FileCheck --check-prefix=CHECK-SCRIPT-DOES-NOT-EXIST %s 11 12# RUN: llvm-mc -filetype=obj -triple=x86_64 1.s -o 1.o 13# RUN: not ld.lld --error-handling-script=./a.sh 1.o 2>&1 |\ 14# RUN: FileCheck --check-prefix=CHECK-SYM-C %s 15 16# RUN: llvm-mc -filetype=obj -triple=x86_64 2.s -o 2.o 17# RUN: not ld.lld --demangle --error-handling-script=./a.sh 2.o 2>&1 |\ 18# RUN: FileCheck --check-prefix=CHECK-SYM-CXX-DEMANGLE %s 19# RUN: not ld.lld --no-demangle --error-handling-script=./a.sh 2.o 2>&1 |\ 20# RUN: FileCheck --check-prefix=CHECK-SYM-CXX-NO-DEMANGLE %s 21 22# RUN: llvm-mc -filetype=obj -triple=x86_64 3.s -o 3.o 23# RUN: not ld.lld --error-handling-script=%t/a.sh 3.o 2>&1 |\ 24# RUN: FileCheck --check-prefix=CHECK-SYM-C-CORRECTION %s 25 26# CHECK-LIB:script: info: called with missing-lib idontexist 27# CHECK-LIB-NEXT:{{.*}}error: unable to find library -lidontexist 28 29# CHECK-SCRIPT-DOES-NOT-EXIST: error: unable to find library -lidontexist 30# CHECK-SCRIPT-DOES-NOT-EXIST-NEXT: error: error handling script './notexist' failed to execute 31 32# CHECK-SYM-C: script: info: called with undefined-symbol a 33# CHECK-SYM-C-NEXT: error: undefined symbol: a 34 35# CHECK-SYM-CXX-DEMANGLE: script: info: called with undefined-symbol _Z1av 36# CHECK-SYM-CXX-DEMANGLE-NEXT: error: undefined symbol: a() 37 38# CHECK-SYM-CXX-NO-DEMANGLE: script: info: called with undefined-symbol _Z1av 39# CHECK-SYM-CXX-NO-DEMANGLE-NEXT: error: undefined symbol: _Z1av 40 41# CHECK-SYM-C-CORRECTION: script: info: called with undefined-symbol a 42# CHECK-SYM-C-CORRECTION-NEXT: error: undefined symbol: a 43# CHECK-SYM-C-CORRECTION-NEXT: >>> referenced by 3.o: 44# CHECK-SYM-C-CORRECTION-NEXT: >>> did you mean: a_ 45 46#--- 1.s 47movl a(%rip), %eax 48#--- 2.s 49movl _Z1av(%rip), %eax 50#--- 3.s 51a_: ret 52movl a(%rip), %eax 53 54#--- a.sh 55#!/bin/sh 56echo "script: info: called with $*" 57