|
1 | 1 | // Test sanitizers ld flags. |
2 | 2 |
|
3 | | -// DEFINE: %{filecheck} = FileCheck %s --implicit-check-not="libclang_rt" |
| 3 | +// Match all libclang_rt, excluding platform-inconsistent builtins. |
| 4 | + |
| 5 | +// DEFINE: %{filecheck} = FileCheck %s --implicit-check-not="libclang_rt.{{([^b]..|.[^u].|..[^i]).*}}" |
4 | 6 |
|
5 | 7 | // RUN: %clang -### %s 2>&1 \ |
6 | 8 | // RUN: --target=i386-unknown-linux -fuse-ld=ld -fsanitize=address \ |
|
250 | 252 | // CHECK-ASAN-ANDROID-NOT: "-lresolv" |
251 | 253 | // CHECK-ASAN-ANDROID: libclang_rt.asan.so" |
252 | 254 | // CHECK-ASAN-ANDROID: libclang_rt.asan_static.a" |
253 | | -// CHECK-ASAN-ANDROID: libclang_rt.builtins.a |
254 | | -// CHECK-ASAN-ANDROID: libclang_rt.builtins.a |
255 | 255 | // CHECK-ASAN-ANDROID-NOT: "-lpthread" |
256 | 256 | // CHECK-ASAN-ANDROID-NOT: "-lresolv" |
257 | 257 |
|
|
272 | 272 | // CHECK-ASAN-ANDROID-STATICLIBASAN: "{{(.*[^.0-9A-Z_a-z])?}}ld.lld{{(.exe)?}}" |
273 | 273 | // CHECK-ASAN-ANDROID-STATICLIBASAN: libclang_rt.asan_static.a" |
274 | 274 | // CHECK-ASAN-ANDROID-STATICLIBASAN: libclang_rt.asan.a" |
275 | | -// CHECK-ASAN-ANDROID-STATICLIBASAN: libclang_rt.builtins.a" |
276 | | -// CHECK-ASAN-ANDROID-STATICLIBASAN: libclang_rt.builtins.a" |
277 | 275 | // CHECK-ASAN-ANDROID-STATICLIBASAN-NOT: "-lpthread" |
278 | 276 | // CHECK-ASAN-ANDROID-STATICLIBASAN-NOT: "-lrt" |
279 | 277 | // CHECK-ASAN-ANDROID-STATICLIBASAN-NOT: "-lresolv" |
|
290 | 288 | // CHECK-UBSAN-ANDROID-NOT: "-lpthread" |
291 | 289 | // CHECK-UBSAN-ANDROID-NOT: "-lresolv" |
292 | 290 | // CHECK-UBSAN-ANDROID: libclang_rt.ubsan_standalone.so" |
293 | | -// CHECK-UBSAN-ANDROID: libclang_rt.builtins.a" |
294 | | -// CHECK-UBSAN-ANDROID: libclang_rt.builtins.a" |
295 | 291 | // CHECK-UBSAN-ANDROID-NOT: "-lpthread" |
296 | 292 | // CHECK-UBSAN-ANDROID-NOT: "-lresolv" |
297 | 293 |
|
|
304 | 300 | // |
305 | 301 | // CHECK-UBSAN-ANDROID-STATICLIBASAN: "{{(.*[^.0-9A-Z_a-z])?}}ld.lld{{(.exe)?}}" |
306 | 302 | // CHECK-UBSAN-ANDROID-STATICLIBASAN: libclang_rt.ubsan_standalone.a" |
307 | | -// CHECK-UBSAN-ANDROID-STATICLIBASAN: libclang_rt.builtins.a" |
308 | | -// CHECK-UBSAN-ANDROID-STATICLIBASAN: libclang_rt.builtins.a" |
309 | 303 | // CHECK-UBSAN-ANDROID-STATICLIBASAN-NOT: "-lpthread" |
310 | 304 | // CHECK-UBSAN-ANDROID-STATICLIBASAN-NOT: "-lrt" |
311 | 305 | // CHECK-UBSAN-ANDROID-STATICLIBASAN-NOT: "-lresolv" |
|
324 | 318 | // CHECK-ASAN-ANDROID-X86-NOT: "-lresolv" |
325 | 319 | // CHECK-ASAN-ANDROID-X86: libclang_rt.asan.so" |
326 | 320 | // CHECK-ASAN-ANDROID-X86: libclang_rt.asan_static.a" |
327 | | -// CHECK-ASAN-ANDROID-X86: libclang_rt.builtins.a" |
328 | | -// CHECK-ASAN-ANDROID-X86: libclang_rt.builtins.a" |
329 | 321 | // CHECK-ASAN-ANDROID-X86-NOT: "-lpthread" |
330 | 322 | // CHECK-ASAN-ANDROID-X86-NOT: "-lresolv" |
331 | 323 | // |
|
338 | 330 | // CHECK-ASAN-ANDROID-SHARED-LIBASAN-NOT: argument unused during compilation: '-shared-libsan' |
339 | 331 | // CHECK-ASAN-ANDROID-SHARED-LIBASAN: libclang_rt.asan.so" |
340 | 332 | // CHECK-ASAN-ANDROID-SHARED-LIBASAN: libclang_rt.asan_static.a" |
341 | | -// CHECK-ASAN-ANDROID-SHARED-LIBASAN: libclang_rt.builtins.a" |
342 | | -// CHECK-ASAN-ANDROID-SHARED-LIBASAN: libclang_rt.builtins.a" |
343 | 333 | // |
344 | 334 | // RUN: %clang -### %s 2>&1 \ |
345 | 335 | // RUN: --target=arm-linux-androideabi -fuse-ld=ld -fsanitize=address \ |
|
352 | 342 | // CHECK-ASAN-ANDROID-SHARED-NOT: "-lc" |
353 | 343 | // CHECK-ASAN-ANDROID-SHARED: libclang_rt.asan.so" |
354 | 344 | // CHECK-ASAN-ANDROID-SHARED: libclang_rt.asan_static.a" |
355 | | -// CHECK-ASAN-ANDROID-SHARED: libclang_rt.builtins.a" |
356 | | -// CHECK-ASAN-ANDROID-SHARED: libclang_rt.builtins.a" |
357 | 345 | // CHECK-ASAN-ANDROID-SHARED-NOT: "-lpthread" |
358 | 346 | // CHECK-ASAN-ANDROID-SHARED-NOT: "-lresolv" |
359 | 347 |
|
|
829 | 817 | // RUN: --sysroot=%S/Inputs/basic_android_tree \ |
830 | 818 | // RUN: | %{filecheck} --check-prefix=CHECK-CFI-CROSS-DSO-ANDROID |
831 | 819 | // CHECK-CFI-CROSS-DSO-ANDROID: "{{.*}}ld{{(.exe)?}}" |
832 | | -// CHECK-CFI-CROSS-DSO-ANDROID: libclang_rt.builtins.a |
833 | | -// CHECK-CFI-CROSS-DSO-ANDROID: libclang_rt.builtins.a |
834 | 820 |
|
835 | 821 | // Cross-DSO CFI with diagnostics on Android links just the UBSAN runtime. |
836 | 822 | // RUN: not %clang -fsanitize=cfi -fsanitize-cfi-cross-dso -### %s 2>&1 \ |
|
842 | 828 | // CHECK-CFI-CROSS-DSO-DIAG-ANDROID: "{{.*}}ld{{(.exe)?}}" |
843 | 829 | // CHECK-CFI-CROSS-DSO-DIAG-ANDROID: "{{[^"]*}}libclang_rt.ubsan_standalone.so" |
844 | 830 | // CHECK-CFI-CROSS-DSO-DIAG-ANDROID: "--export-dynamic-symbol=__cfi_check" |
845 | | -// CHECK-CFI-CROSS-DSO-DIAG-ANDROID: libclang_rt.builtins.a |
846 | | -// CHECK-CFI-CROSS-DSO-DIAG-ANDROID: libclang_rt.builtins.a |
847 | 831 |
|
848 | 832 | // RUN: %clangxx -fsanitize=address -### %s 2>&1 \ |
849 | 833 | // RUN: -mmacos-version-min=10.6 \ |
|
898 | 882 | // RUN: | %{filecheck} --check-prefix=CHECK-SHADOWCALLSTACK-ELF-RISCV32 |
899 | 883 | // CHECK-SHADOWCALLSTACK-ELF-RISCV32-NOT: error: |
900 | 884 | // CHECK-SHADOWCALLSTACK-ELF-RISCV32: "{{(.*[^-.0-9A-Z_a-z])?}}ld.lld{{(.exe)?}}" |
901 | | -// CHECK-SHADOWCALLSTACK-ELF-RISCV32: libclang_rt.builtins.a |
902 | 885 |
|
903 | 886 | // RUN: %clang -fsanitize=shadow-call-stack -### %s 2>&1 \ |
904 | 887 | // RUN: --target=riscv64-unknown-linux -fuse-ld=ld \ |
|
910 | 893 | // RUN: | %{filecheck} --check-prefix=CHECK-SHADOWCALLSTACK-ANDROID-RISCV64 |
911 | 894 | // CHECK-SHADOWCALLSTACK-ANDROID-RISCV64-NOT: error: |
912 | 895 | // CHECK-SHADOWCALLSTACK-ANDROID-RISCV64: "{{(.*[^-.0-9A-Z_a-z])?}}ld.lld{{(.exe)?}}" |
913 | | -// CHECK-SHADOWCALLSTACK-ANDROID-RISCV64: libclang_rt.builtins.a |
914 | | -// CHECK-SHADOWCALLSTACK-ANDROID-RISCV64: libclang_rt.builtins.a |
915 | 896 |
|
916 | 897 | // RUN: %clang -fsanitize=shadow-call-stack -### %s 2>&1 \ |
917 | 898 | // RUN: --target=riscv64-unknown-fuchsia -fuse-ld=ld \ |
918 | 899 | // RUN: | %{filecheck} --check-prefix=CHECK-SHADOWCALLSTACK-FUCHSIA-RISCV64 |
919 | 900 | // CHECK-SHADOWCALLSTACK-FUCHSIA-RISCV64-NOT: error: |
920 | 901 | // CHECK-SHADOWCALLSTACK-FUCHSIA-RISCV64: "{{(.*[^-.0-9A-Z_a-z])?}}ld.lld{{(.exe)?}}" |
921 | | -// CHECK-SHADOWCALLSTACK-FUCHSIA-RISCV64: libclang_rt.builtins.a |
922 | 902 |
|
923 | 903 | // RUN: %clang -fsanitize=shadow-call-stack -### %s 2>&1 \ |
924 | 904 | // RUN: --target=aarch64-unknown-linux -fuse-ld=ld -ffixed-x18 \ |
|
934 | 914 | // RUN: | %{filecheck} --check-prefix=CHECK-SHADOWCALLSTACK-LINUX-AARCH64-X18-ANDROID |
935 | 915 | // CHECK-SHADOWCALLSTACK-LINUX-AARCH64-X18-ANDROID-NOT: error: |
936 | 916 | // CHECK-SHADOWCALLSTACK-LINUX-AARCH64-X18-ANDROID: "{{(.*[^-.0-9A-Z_a-z])?}}ld.lld{{(.exe)?}}" |
937 | | -// CHECK-SHADOWCALLSTACK-LINUX-AARCH64-X18-ANDROID: libclang_rt.builtins.a |
938 | | -// CHECK-SHADOWCALLSTACK-LINUX-AARCH64-X18-ANDROID: libclang_rt.builtins.a |
939 | 917 |
|
940 | 918 | // RUN: not %clang -fsanitize=shadow-call-stack -### %s 2>&1 \ |
941 | 919 | // RUN: --target=x86-unknown-linux -fuse-ld=ld \ |
|
1003 | 981 | // RUN: | %{filecheck} --check-prefix=CHECK-SAFESTACK-ANDROID-ARM |
1004 | 982 | // |
1005 | 983 | // CHECK-SAFESTACK-ANDROID-ARM: "{{(.*[^-.0-9A-Z_a-z])?}}ld.lld{{(.exe)?}}" |
1006 | | -// CHECK-SAFESTACK-ANDROID-ARM: libclang_rt.builtins.a |
1007 | | -// CHECK-SAFESTACK-ANDROID-ARM: libclang_rt.builtins.a |
1008 | 984 |
|
1009 | 985 | // RUN: %clang -### %s -shared 2>&1 \ |
1010 | 986 | // RUN: --target=arm-linux-androideabi -fuse-ld=ld -fsanitize=safe-stack \ |
1011 | 987 | // RUN: --sysroot=%S/Inputs/basic_android_tree \ |
1012 | 988 | // RUN: | %{filecheck} --check-prefix=CHECK-SAFESTACK-SHARED-ANDROID-ARM |
1013 | 989 | // |
1014 | 990 | // CHECK-SAFESTACK-SHARED-ANDROID-ARM: "{{(.*[^-.0-9A-Z_a-z])?}}ld.lld{{(.exe)?}}" |
1015 | | -// CHECK-SAFESTACK-SHARED-ANDROID-ARM: libclang_rt.builtins.a |
1016 | | -// CHECK-SAFESTACK-SHARED-ANDROID-ARM: libclang_rt.builtins.a |
1017 | 991 |
|
1018 | 992 | // RUN: %clang -### %s 2>&1 \ |
1019 | 993 | // RUN: --target=aarch64-linux-android -fuse-ld=ld -fsanitize=safe-stack \ |
1020 | 994 | // RUN: --sysroot=%S/Inputs/basic_android_tree \ |
1021 | 995 | // RUN: | %{filecheck} --check-prefix=CHECK-SAFESTACK-ANDROID-AARCH64 |
1022 | 996 | // |
1023 | 997 | // CHECK-SAFESTACK-ANDROID-AARCH64: "{{(.*[^-.0-9A-Z_a-z])?}}ld.lld{{(.exe)?}}" |
1024 | | -// CHECK-SAFESTACK-ANDROID-AARCH64: libclang_rt.builtins.a |
1025 | | -// CHECK-SAFESTACK-ANDROID-AARCH64: libclang_rt.builtins.a |
1026 | 998 |
|
1027 | 999 | // RUN: not %clang -fsanitize=undefined -### %s 2>&1 \ |
1028 | 1000 | // RUN: --target=x86_64-scei-ps4 -fuse-ld=ld \ |
|
1131 | 1103 | // CHECK-SCUDO-ANDROID: libclang_rt.scudo_standalone.so" |
1132 | 1104 | // CHECK-SCUDO-ANDROID-NOT: "-lpthread" |
1133 | 1105 | // CHECK-SCUDO-ANDROID-NOT: "-lresolv" |
1134 | | -// CHECK-SCUDO-ANDROID: libclang_rt.builtins.a" |
1135 | | -// CHECK-SCUDO-ANDROID: libclang_rt.builtins.a" |
1136 | 1106 |
|
1137 | 1107 | // RUN: %clang -### %s 2>&1 \ |
1138 | 1108 | // RUN: --target=arm-linux-androideabi -fuse-ld=ld -fsanitize=scudo \ |
|
1146 | 1116 | // CHECK-SCUDO-ANDROID-STATIC-NOT: "-lpthread" |
1147 | 1117 | // CHECK-SCUDO-ANDROID-STATIC-NOT: "-lrt" |
1148 | 1118 | // CHECK-SCUDO-ANDROID-STATIC-NOT: "-lresolv" |
1149 | | -// CHECK-SCUDO-ANDROID-STATIC: "{{.*}}libclang_rt.builtins.a" |
1150 | 1119 |
|
1151 | 1120 | // RUN: %clang -### %s 2>&1 \ |
1152 | 1121 | // RUN: --target=x86_64-unknown-linux -fuse-ld=ld -fsanitize=hwaddress \ |
|
0 commit comments