OLD | NEW |
1 // Test sanitizers ld flags. | 1 // Test sanitizers ld flags. |
2 | 2 |
3 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ | 3 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ |
4 // RUN: -target i386-unknown-linux -fsanitize=address \ | 4 // RUN: -target i386-unknown-linux -fsanitize=address \ |
5 // RUN: -resource-dir=%S/Inputs/resource_dir \ | 5 // RUN: -resource-dir=%S/Inputs/resource_dir \ |
6 // RUN: --sysroot=%S/Inputs/basic_linux_tree \ | 6 // RUN: --sysroot=%S/Inputs/basic_linux_tree \ |
7 // RUN: | FileCheck --check-prefix=CHECK-ASAN-LINUX %s | 7 // RUN: | FileCheck --check-prefix=CHECK-ASAN-LINUX %s |
8 // | 8 // |
9 // CHECK-ASAN-LINUX: "{{(.*[^-.0-9A-Z_a-z])?}}ld{{(.exe)?}}" | 9 // CHECK-ASAN-LINUX: "{{(.*[^-.0-9A-Z_a-z])?}}ld{{(.exe)?}}" |
10 // CHECK-ASAN-LINUX-NOT: "-lc" | 10 // CHECK-ASAN-LINUX-NOT: "-lc" |
11 // CHECK-ASAN-LINUX: libclang_rt.asan-i386.a" | 11 // CHECK-ASAN-LINUX: libclang_rt.asan-i386.a" |
12 // CHECK-ASAN-LINUX: "-lpthread" | 12 // CHECK-ASAN-LINUX: "-lpthread" |
13 // CHECK-ASAN-LINUX: "-lrt" | |
14 // CHECK-ASAN-LINUX: "-ldl" | 13 // CHECK-ASAN-LINUX: "-ldl" |
15 // CHECK-ASAN-LINUX-NOT: "-export-dynamic" | 14 // CHECK-ASAN-LINUX-NOT: "-export-dynamic" |
16 // CHECK-ASAN-LINUX: "--dynamic-list={{.*}}libclang_rt.asan-i386.a.syms" | 15 // CHECK-ASAN-LINUX: "--dynamic-list={{.*}}libclang_rt.asan-i386.a.syms" |
17 | 16 |
18 // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \ | 17 // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \ |
19 // RUN: -target i386-unknown-linux -fsanitize=address \ | 18 // RUN: -target i386-unknown-linux -fsanitize=address \ |
20 // RUN: -resource-dir=%S/Inputs/empty_resource_dir \ | 19 // RUN: -resource-dir=%S/Inputs/empty_resource_dir \ |
21 // RUN: --sysroot=%S/Inputs/basic_linux_tree \ | 20 // RUN: --sysroot=%S/Inputs/basic_linux_tree \ |
22 // RUN: | FileCheck --check-prefix=CHECK-ASAN-LINUX-CXX %s | 21 // RUN: | FileCheck --check-prefix=CHECK-ASAN-LINUX-CXX %s |
23 // | 22 // |
24 // CHECK-ASAN-LINUX-CXX: "{{(.*[^-.0-9A-Z_a-z])?}}ld{{(.exe)?}}" | 23 // CHECK-ASAN-LINUX-CXX: "{{(.*[^-.0-9A-Z_a-z])?}}ld{{(.exe)?}}" |
25 // CHECK-ASAN-LINUX-CXX-NOT: "-lc" | 24 // CHECK-ASAN-LINUX-CXX-NOT: "-lc" |
26 // CHECK-ASAN-LINUX-CXX: "-whole-archive" "{{.*}}libclang_rt.asan-i386.a" "-no-w
hole-archive" | 25 // CHECK-ASAN-LINUX-CXX: "-whole-archive" "{{.*}}libclang_rt.asan-i386.a" "-no-w
hole-archive" |
27 // CHECK-ASAN-LINUX-CXX: "-lpthread" | 26 // CHECK-ASAN-LINUX-CXX: "-lpthread" |
28 // CHECK-ASAN-LINUX-CXX: "-lrt" | |
29 // CHECK-ASAN-LINUX-CXX: "-ldl" | 27 // CHECK-ASAN-LINUX-CXX: "-ldl" |
30 // CHECK-ASAN-LINUX-CXX: "-export-dynamic" | 28 // CHECK-ASAN-LINUX-CXX: "-export-dynamic" |
31 // CHECK-ASAN-LINUX-CXX-NOT: "--dynamic-list" | 29 // CHECK-ASAN-LINUX-CXX-NOT: "--dynamic-list" |
32 // CHECK-ASAN-LINUX-CXX: stdc++ | 30 // CHECK-ASAN-LINUX-CXX: stdc++ |
33 | 31 |
34 // RUN: %clang -no-canonical-prefixes %s -### -o /dev/null -fsanitize=address \ | 32 // RUN: %clang -no-canonical-prefixes %s -### -o /dev/null -fsanitize=address \ |
35 // RUN: -target i386-unknown-linux --sysroot=%S/Inputs/basic_linux_tree \ | 33 // RUN: -target i386-unknown-linux --sysroot=%S/Inputs/basic_linux_tree \ |
36 // RUN: -lstdc++ -static 2>&1 \ | 34 // RUN: -lstdc++ -static 2>&1 \ |
37 // RUN: | FileCheck --check-prefix=CHECK-ASAN-LINUX-CXX-STATIC %s | 35 // RUN: | FileCheck --check-prefix=CHECK-ASAN-LINUX-CXX-STATIC %s |
38 // | 36 // |
(...skipping 26 matching lines...) Expand all Loading... |
65 // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \ | 63 // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \ |
66 // RUN: -target x86_64-unknown-linux -lstdc++ -fsanitize=thread \ | 64 // RUN: -target x86_64-unknown-linux -lstdc++ -fsanitize=thread \ |
67 // RUN: -resource-dir=%S/Inputs/resource_dir \ | 65 // RUN: -resource-dir=%S/Inputs/resource_dir \ |
68 // RUN: --sysroot=%S/Inputs/basic_linux_tree \ | 66 // RUN: --sysroot=%S/Inputs/basic_linux_tree \ |
69 // RUN: | FileCheck --check-prefix=CHECK-TSAN-LINUX-CXX %s | 67 // RUN: | FileCheck --check-prefix=CHECK-TSAN-LINUX-CXX %s |
70 // | 68 // |
71 // CHECK-TSAN-LINUX-CXX: "{{(.*[^-.0-9A-Z_a-z])?}}ld{{(.exe)?}}" | 69 // CHECK-TSAN-LINUX-CXX: "{{(.*[^-.0-9A-Z_a-z])?}}ld{{(.exe)?}}" |
72 // CHECK-TSAN-LINUX-CXX-NOT: stdc++ | 70 // CHECK-TSAN-LINUX-CXX-NOT: stdc++ |
73 // CHECK-TSAN-LINUX-CXX: "-whole-archive" "{{.*}}libclang_rt.tsan-x86_64.a" "-no
-whole-archive" | 71 // CHECK-TSAN-LINUX-CXX: "-whole-archive" "{{.*}}libclang_rt.tsan-x86_64.a" "-no
-whole-archive" |
74 // CHECK-TSAN-LINUX-CXX: "-lpthread" | 72 // CHECK-TSAN-LINUX-CXX: "-lpthread" |
75 // CHECK-TSAN-LINUX-CXX: "-lrt" | |
76 // CHECK-TSAN-LINUX-CXX: "-ldl" | 73 // CHECK-TSAN-LINUX-CXX: "-ldl" |
77 // CHECK-TSAN-LINUX-CXX-NOT: "-export-dynamic" | 74 // CHECK-TSAN-LINUX-CXX-NOT: "-export-dynamic" |
78 // CHECK-TSAN-LINUX-CXX: "--dynamic-list={{.*}}libclang_rt.tsan-x86_64.a.syms" | 75 // CHECK-TSAN-LINUX-CXX: "--dynamic-list={{.*}}libclang_rt.tsan-x86_64.a.syms" |
79 // CHECK-TSAN-LINUX-CXX: stdc++ | 76 // CHECK-TSAN-LINUX-CXX: stdc++ |
80 | 77 |
81 // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \ | 78 // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \ |
82 // RUN: -target x86_64-unknown-linux -lstdc++ -fsanitize=memory \ | 79 // RUN: -target x86_64-unknown-linux -lstdc++ -fsanitize=memory \ |
83 // RUN: -resource-dir=%S/Inputs/resource_dir \ | 80 // RUN: -resource-dir=%S/Inputs/resource_dir \ |
84 // RUN: --sysroot=%S/Inputs/basic_linux_tree \ | 81 // RUN: --sysroot=%S/Inputs/basic_linux_tree \ |
85 // RUN: | FileCheck --check-prefix=CHECK-MSAN-LINUX-CXX %s | 82 // RUN: | FileCheck --check-prefix=CHECK-MSAN-LINUX-CXX %s |
86 // | 83 // |
87 // CHECK-MSAN-LINUX-CXX: "{{(.*[^-.0-9A-Z_a-z])?}}ld{{(.exe)?}}" | 84 // CHECK-MSAN-LINUX-CXX: "{{(.*[^-.0-9A-Z_a-z])?}}ld{{(.exe)?}}" |
88 // CHECK-MSAN-LINUX-CXX-NOT: stdc++ | 85 // CHECK-MSAN-LINUX-CXX-NOT: stdc++ |
89 // CHECK-MSAN-LINUX-CXX: "-whole-archive" "{{.*}}libclang_rt.msan-x86_64.a" "-no
-whole-archive" | 86 // CHECK-MSAN-LINUX-CXX: "-whole-archive" "{{.*}}libclang_rt.msan-x86_64.a" "-no
-whole-archive" |
90 // CHECK-MSAN-LINUX-CXX: "-lpthread" | 87 // CHECK-MSAN-LINUX-CXX: "-lpthread" |
91 // CHECK-MSAN-LINUX-CXX: "-lrt" | |
92 // CHECK-MSAN-LINUX-CXX: "-ldl" | 88 // CHECK-MSAN-LINUX-CXX: "-ldl" |
93 // CHECK-MSAN-LINUX-CXX-NOT: "-export-dynamic" | 89 // CHECK-MSAN-LINUX-CXX-NOT: "-export-dynamic" |
94 // CHECK-MSAN-LINUX-CXX: "--dynamic-list={{.*}}libclang_rt.msan-x86_64.a.syms" | 90 // CHECK-MSAN-LINUX-CXX: "--dynamic-list={{.*}}libclang_rt.msan-x86_64.a.syms" |
95 // CHECK-MSAN-LINUX-CXX: stdc++ | 91 // CHECK-MSAN-LINUX-CXX: stdc++ |
96 | 92 |
97 // RUN: %clang -fsanitize=undefined %s -### -o %t.o 2>&1 \ | 93 // RUN: %clang -fsanitize=undefined %s -### -o %t.o 2>&1 \ |
98 // RUN: -target i386-unknown-linux \ | 94 // RUN: -target i386-unknown-linux \ |
99 // RUN: --sysroot=%S/Inputs/basic_linux_tree \ | 95 // RUN: --sysroot=%S/Inputs/basic_linux_tree \ |
100 // RUN: | FileCheck --check-prefix=CHECK-UBSAN-LINUX %s | 96 // RUN: | FileCheck --check-prefix=CHECK-UBSAN-LINUX %s |
101 // CHECK-UBSAN-LINUX: "{{.*}}ld{{(.exe)?}}" | 97 // CHECK-UBSAN-LINUX: "{{.*}}ld{{(.exe)?}}" |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
146 // CHECK-ASAN-UBSAN-LINUX-CXX: "-lpthread" | 142 // CHECK-ASAN-UBSAN-LINUX-CXX: "-lpthread" |
147 // CHECK-ASAN-UBSAN-LINUX-CXX: "-lstdc++" | 143 // CHECK-ASAN-UBSAN-LINUX-CXX: "-lstdc++" |
148 | 144 |
149 // RUN: %clang -fsanitize=undefined %s -### -o %t.o 2>&1 \ | 145 // RUN: %clang -fsanitize=undefined %s -### -o %t.o 2>&1 \ |
150 // RUN: -target i386-unknown-linux \ | 146 // RUN: -target i386-unknown-linux \ |
151 // RUN: --sysroot=%S/Inputs/basic_linux_tree \ | 147 // RUN: --sysroot=%S/Inputs/basic_linux_tree \ |
152 // RUN: -shared \ | 148 // RUN: -shared \ |
153 // RUN: | FileCheck --check-prefix=CHECK-UBSAN-LINUX-SHARED %s | 149 // RUN: | FileCheck --check-prefix=CHECK-UBSAN-LINUX-SHARED %s |
154 // CHECK-UBSAN-LINUX-SHARED: "{{.*}}ld{{(.exe)?}}" | 150 // CHECK-UBSAN-LINUX-SHARED: "{{.*}}ld{{(.exe)?}}" |
155 // CHECK-UBSAN-LINUX-SHARED-NOT: libclang_rt.ubsan-i386.a" | 151 // CHECK-UBSAN-LINUX-SHARED-NOT: libclang_rt.ubsan-i386.a" |
OLD | NEW |