| 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 |