xref: /aosp_15_r20/external/clang/test/Driver/fuse-ld.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang %s -### \
2*67e74705SXin Li // RUN:     -fuse-ld=/usr/local/bin/or1k-linux-ld 2>&1 \
3*67e74705SXin Li // RUN:   | FileCheck %s --check-prefix=CHECK-ABSOLUTE-LD
4*67e74705SXin Li // CHECK-ABSOLUTE-LD: /usr/local/bin/or1k-linux-ld
5*67e74705SXin Li 
6*67e74705SXin Li 
7*67e74705SXin Li // RUN: %clang %s -### \
8*67e74705SXin Li // RUN:     -target x86_64-unknown-freebsd 2>&1 \
9*67e74705SXin Li // RUN:   | FileCheck %s --check-prefix=CHECK-FREEBSD-LD
10*67e74705SXin Li // CHECK-FREEBSD-LD: ld
11*67e74705SXin Li 
12*67e74705SXin Li // RUN: %clang %s -### -fuse-ld=bfd \
13*67e74705SXin Li // RUN:     --sysroot=%S/Inputs/basic_freebsd_tree \
14*67e74705SXin Li // RUN:     -target x86_64-unknown-freebsd \
15*67e74705SXin Li // RUN:     -B%S/Inputs/basic_freebsd_tree/usr/bin 2>&1 \
16*67e74705SXin Li // RUN:   | FileCheck %s -check-prefix=CHECK-FREEBSD-BFD
17*67e74705SXin Li // CHECK-FREEBSD-BFD: Inputs/basic_freebsd_tree/usr/bin{{/|\\+}}ld.bfd
18*67e74705SXin Li 
19*67e74705SXin Li // RUN: %clang %s -### -fuse-ld=gold \
20*67e74705SXin Li // RUN:     --sysroot=%S/Inputs/basic_freebsd_tree \
21*67e74705SXin Li // RUN:     -target x86_64-unknown-freebsd \
22*67e74705SXin Li // RUN:     -B%S/Inputs/basic_freebsd_tree/usr/bin 2>&1 \
23*67e74705SXin Li // RUN:   | FileCheck %s -check-prefix=CHECK-FREEBSD-GOLD
24*67e74705SXin Li // CHECK-FREEBSD-GOLD: Inputs/basic_freebsd_tree/usr/bin{{/|\\+}}ld.gold
25*67e74705SXin Li 
26*67e74705SXin Li // RUN: %clang %s -### -fuse-ld=plib \
27*67e74705SXin Li // RUN:     --sysroot=%S/Inputs/basic_freebsd_tree \
28*67e74705SXin Li // RUN:     -target x86_64-unknown-freebsd \
29*67e74705SXin Li // RUN:     -B%S/Inputs/basic_freebsd_tree/usr/bin 2>&1 \
30*67e74705SXin Li // RUN:   | FileCheck %s -check-prefix=CHECK-FREEBSD-PLIB
31*67e74705SXin Li // CHECK-FREEBSD-PLIB: error: invalid linker name
32*67e74705SXin Li 
33*67e74705SXin Li 
34*67e74705SXin Li 
35*67e74705SXin Li // RUN: %clang %s -### \
36*67e74705SXin Li // RUN:     -target arm-linux-androideabi \
37*67e74705SXin Li // RUN:     -B%S/Inputs/basic_android_tree/bin 2>&1 \
38*67e74705SXin Li // RUN:   | FileCheck %s --check-prefix=CHECK-ANDROID-ARM-LD
39*67e74705SXin Li // CHECK-ANDROID-ARM-LD: Inputs/basic_android_tree/bin{{/|\\+}}arm-linux-androideabi-ld
40*67e74705SXin Li 
41*67e74705SXin Li // RUN: %clang %s -### -fuse-ld=bfd \
42*67e74705SXin Li // RUN:     -target arm-linux-androideabi \
43*67e74705SXin Li // RUN:     -B%S/Inputs/basic_android_tree/bin 2>&1 \
44*67e74705SXin Li // RUN:   | FileCheck %s -check-prefix=CHECK-ANDROID-ARM-BFD
45*67e74705SXin Li // CHECK-ANDROID-ARM-BFD: Inputs/basic_android_tree/bin{{/|\\+}}arm-linux-androideabi-ld.bfd
46*67e74705SXin Li 
47*67e74705SXin Li // RUN: %clang %s -### -fuse-ld=gold \
48*67e74705SXin Li // RUN:     -target arm-linux-androideabi \
49*67e74705SXin Li // RUN:     -B%S/Inputs/basic_android_tree/bin 2>&1 \
50*67e74705SXin Li // RUN:   | FileCheck %s -check-prefix=CHECK-ANDROID-ARM-GOLD
51*67e74705SXin Li // CHECK-ANDROID-ARM-GOLD: Inputs/basic_android_tree/bin{{/|\\+}}arm-linux-androideabi-ld.gold
52*67e74705SXin Li 
53*67e74705SXin Li // RUN: %clang %s -### \
54*67e74705SXin Li // RUN:     -target arm-linux-androideabi \
55*67e74705SXin Li // RUN:     -gcc-toolchain %S/Inputs/basic_android_tree 2>&1 \
56*67e74705SXin Li // RUN:   | FileCheck %s --check-prefix=CHECK-ANDROID-ARM-LD-TC
57*67e74705SXin Li // CHECK-ANDROID-ARM-LD-TC: Inputs/basic_android_tree/lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin{{/|\\+}}ld
58*67e74705SXin Li 
59*67e74705SXin Li // RUN: %clang %s -### -fuse-ld=bfd \
60*67e74705SXin Li // RUN:     -target arm-linux-androideabi \
61*67e74705SXin Li // RUN:     -gcc-toolchain %S/Inputs/basic_android_tree 2>&1 \
62*67e74705SXin Li // RUN:   | FileCheck %s -check-prefix=CHECK-ANDROID-ARM-BFD-TC
63*67e74705SXin Li // CHECK-ANDROID-ARM-BFD-TC: Inputs/basic_android_tree/lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin{{/|\\+}}ld.bfd
64*67e74705SXin Li 
65*67e74705SXin Li // RUN: %clang %s -### -fuse-ld=gold \
66*67e74705SXin Li // RUN:     -target arm-linux-androideabi \
67*67e74705SXin Li // RUN:     -gcc-toolchain %S/Inputs/basic_android_tree 2>&1 \
68*67e74705SXin Li // RUN:   | FileCheck %s -check-prefix=CHECK-ANDROID-ARM-GOLD-TC
69*67e74705SXin Li // CHECK-ANDROID-ARM-GOLD-TC: Inputs/basic_android_tree/lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin{{/|\\+}}ld.gold
70