[win][compiler-rt] Make tests use lld-link instead of link

Git bash ships with a link.exe. We try to add git bash to the beginning
of PATH (see D84380). These tests end up executing the wrong link.exe.

As a workaround, use lld-link. Note that `REQUIRES: lld-available` tests currently aren't running, see D128567. I did manually verify that these tests pass with lld-link.

Reviewed By: rnk, hans

Differential Revision: https://reviews.llvm.org/D136108
This commit is contained in:
Arthur Eubanks 2022-10-18 08:46:14 -07:00
parent db98c06f11
commit aa89ceab48
3 changed files with 7 additions and 4 deletions

View File

@ -1,10 +1,11 @@
// Just make sure we can link an implib into another DLL
// This used to fail between r212699 and r212814.
// RUN: %clang_cl_asan -DCONFIG=1 %s -c -Fo%t.1.obj
// RUN: link /nologo /DLL /OUT:%t.1.dll %t.1.obj %asan_dll_thunk
// RUN: lld-link /nologo /DLL /OUT:%t.1.dll %t.1.obj %asan_dll_thunk
// RUN: %clang_cl_asan -DCONFIG=2 %s -c -Fo%t.2.obj
// RUN: link /nologo /DLL /OUT:%t.2.dll %t.2.obj %t.1.lib %asan_dll_thunk
// RUN: lld-link /nologo /DLL /OUT:%t.2.dll %t.2.obj %t.1.lib %asan_dll_thunk
// REQUIRES: asan-static-runtime
// REQUIRES: lld-available
#if CONFIG==1
extern "C" __declspec(dllexport) int f1() {

View File

@ -3,8 +3,9 @@
// from the DLL. We simulate the large function with
// -mllvm -asan-instrumentation-with-call-threshold=0.
// RUN: %clang_cl_asan %s -c -Fo%t.obj -mllvm -asan-instrumentation-with-call-threshold=0
// RUN: link /nologo /DLL /OUT:%t.dll %t.obj %asan_dll_thunk
// RUN: lld-link /nologo /DLL /OUT:%t.dll %t.obj %asan_dll_thunk
// REQUIRES: asan-static-runtime
// REQUIRES: lld-available
void f(long* foo, long* bar) {
// One load and one store

View File

@ -4,8 +4,9 @@
// RUN: rm -f %t.pdb
// RUN: %clangxx_asan -c -O2 %s -o %t.obj
// RUN: link /nologo /OUT:%t.exe %t.obj %asan_lib %asan_cxx_lib
// RUN: lld-link /nologo /OUT:%t.exe %t.obj %asan_lib %asan_cxx_lib
// RUN: not %run %t.exe 2>&1 | FileCheck %s
// REQUIRES: lld-available
#include <stdlib.h>
#include <stdio.h>