summaryrefslogtreecommitdiffstats
path: root/test/Driver/fuse-ld.c
blob: b043ce624ed85960f76bdb089599a80554a5bcfd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
// RUN: %clang %s -### \
// RUN:     -fuse-ld=/usr/local/bin/or1k-linux-ld 2>&1 \
// RUN:   | FileCheck %s --check-prefix=CHECK-ABSOLUTE-LD
// CHECK-ABSOLUTE-LD: /usr/local/bin/or1k-linux-ld


// RUN: %clang %s -### \
// RUN:     -target x86_64-unknown-freebsd 2>&1 \
// RUN:   | FileCheck %s --check-prefix=CHECK-FREEBSD-LD
// CHECK-FREEBSD-LD: ld

// RUN: %clang %s -### -fuse-ld=bfd \
// RUN:     --sysroot=%S/Inputs/basic_freebsd_tree \
// RUN:     -target x86_64-unknown-freebsd \
// RUN:     -B%S/Inputs/basic_freebsd_tree/usr/bin 2>&1 \
// RUN:   | FileCheck %s -check-prefix=CHECK-FREEBSD-BFD
// CHECK-FREEBSD-BFD: Inputs/basic_freebsd_tree/usr/bin{{/|\\+}}ld.bfd

// RUN: %clang %s -### -fuse-ld=gold \
// RUN:     --sysroot=%S/Inputs/basic_freebsd_tree \
// RUN:     -target x86_64-unknown-freebsd \
// RUN:     -B%S/Inputs/basic_freebsd_tree/usr/bin 2>&1 \
// RUN:   | FileCheck %s -check-prefix=CHECK-FREEBSD-GOLD
// CHECK-FREEBSD-GOLD: Inputs/basic_freebsd_tree/usr/bin{{/|\\+}}ld.gold

// RUN: %clang %s -### -fuse-ld=plib \
// RUN:     --sysroot=%S/Inputs/basic_freebsd_tree \
// RUN:     -target x86_64-unknown-freebsd \
// RUN:     -B%S/Inputs/basic_freebsd_tree/usr/bin 2>&1 \
// RUN:   | FileCheck %s -check-prefix=CHECK-FREEBSD-PLIB
// CHECK-FREEBSD-PLIB: error: invalid linker name



// RUN: %clang %s -### -fuse-ld=ld \
// RUN:     -target arm-linux-androideabi \
// RUN:     -B%S/Inputs/basic_android_tree/bin 2>&1 \
// RUN:   | FileCheck %s --check-prefix=CHECK-ANDROID-ARM-LD
// CHECK-ANDROID-ARM-LD: Inputs/basic_android_tree/bin{{/|\\+}}arm-linux-androideabi-ld

// RUN: %clang %s -### -fuse-ld=bfd \
// RUN:     -target arm-linux-androideabi \
// RUN:     -B%S/Inputs/basic_android_tree/bin 2>&1 \
// RUN:   | FileCheck %s -check-prefix=CHECK-ANDROID-ARM-BFD
// CHECK-ANDROID-ARM-BFD: Inputs/basic_android_tree/bin{{/|\\+}}arm-linux-androideabi-ld.bfd

// RUN: %clang %s -### -fuse-ld=gold \
// RUN:     -target arm-linux-androideabi \
// RUN:     -B%S/Inputs/basic_android_tree/bin 2>&1 \
// RUN:   | FileCheck %s -check-prefix=CHECK-ANDROID-ARM-GOLD
// CHECK-ANDROID-ARM-GOLD: Inputs/basic_android_tree/bin{{/|\\+}}arm-linux-androideabi-ld.gold

// RUN: %clang %s -### -fuse-ld=ld \
// RUN:     -target arm-linux-androideabi \
// RUN:     -gcc-toolchain %S/Inputs/basic_android_tree 2>&1 \
// RUN:   | FileCheck %s --check-prefix=CHECK-ANDROID-ARM-LD-TC
// CHECK-ANDROID-ARM-LD-TC: Inputs/basic_android_tree/lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin{{/|\\+}}ld

// RUN: %clang %s -### -fuse-ld=bfd \
// RUN:     -target arm-linux-androideabi \
// RUN:     -gcc-toolchain %S/Inputs/basic_android_tree 2>&1 \
// RUN:   | FileCheck %s -check-prefix=CHECK-ANDROID-ARM-BFD-TC
// CHECK-ANDROID-ARM-BFD-TC: Inputs/basic_android_tree/lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin{{/|\\+}}ld.bfd

// RUN: %clang %s -### -fuse-ld=gold \
// RUN:     -target arm-linux-androideabi \
// RUN:     -gcc-toolchain %S/Inputs/basic_android_tree 2>&1 \
// RUN:   | FileCheck %s -check-prefix=CHECK-ANDROID-ARM-GOLD-TC
// CHECK-ANDROID-ARM-GOLD-TC: Inputs/basic_android_tree/lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin{{/|\\+}}ld.gold


// RUN: %clang %s -### -fuse-ld=link \
// RUN:     -target i686-unknown-windows-msvc 2>&1 \
// RUN:   | FileCheck %s --check-prefix CHECK-WINDOWS-MSVC-LINK
// CHECK-WINDOWS-MSVC-LINK: "{{.*}}link.exe"
// CHECK-WINDOWS-MSVC-LINK-SAME: "-out:{{.*}}"

// RUN: %clang %s -### -fuse-ld=lld \
// RUN:     -target i686-unknown-windows-msvc 2>&1 \
// RUN:   | FileCheck %s --check-prefix CHECK-WINDOWS-MSVC-LLD
// CHECK-WINDOWS-MSVC-LLD: "{{.*}}lld-link"
// CHECK-WINDOWS-MSVC-LLD-SAME: "-out:{{.*}}"

// RUN: %clang %s -### -fuse-ld=lld-link \
// RUN:     -target i686-unknown-windows-msvc 2>&1 \
// RUN:   | FileCheck %s --check-prefix CHECK-WINDOWS-MSVC-LLD-LINK
// CHECK-WINDOWS-MSVC-LLD-LINK: "{{.*}}lld-link"
// CHECK-WINDOWS-MSVC-LLD-LINK-SAME: "-out:{{.*}}"

// RUN: %clang %s -### -fuse-ld=bfd \
// RUN:     -target i686-unknown-windows-msvc \
// RUN:     -B %S/Inputs/Windows/usr/bin 2>&1 \
// RUN:   | FileCheck %s --check-prefix CHECK-WINDOWS-MSVC-BFD
// CHECK-WINDOWS-MSVC-BFD: "{{.*}}ld.bfd"
// CHECK-WINDOWS-MSVC-BFD-SAME: "-o"