|
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