Skip to content

Commit dcf70e1

Browse files
authored
Add -static-libasan alias for -static-libsan. (llvm#98194)
This helps compatibility with gcc, which has (static|shared)-libasan, but not *-libsan. Clang currently has -shared-libasan -shared-libsan -static-libsan This change improves consistency by adding -static-libasan
1 parent 8d800e6 commit dcf70e1

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

clang/include/clang/Driver/Options.td

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1618,6 +1618,7 @@ def shared_libsan : Flag<["-"], "shared-libsan">,
16181618
def static_libsan : Flag<["-"], "static-libsan">,
16191619
HelpText<"Statically link the sanitizer runtime (Not supported for ASan, TSan or UBSan on darwin)">;
16201620
def : Flag<["-"], "shared-libasan">, Alias<shared_libsan>;
1621+
def : Flag<["-"], "static-libasan">, Alias<static_libsan>;
16211622
def fasm : Flag<["-"], "fasm">, Group<f_Group>;
16221623

16231624
defm assume_unique_vtables : BoolFOption<"assume-unique-vtables",

clang/test/Driver/sanitizer-ld.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,13 @@
196196
// RUN: -static-libsan \
197197
// RUN: | FileCheck --check-prefix=CHECK-ASAN-ANDROID-STATICLIBASAN %s
198198
//
199+
// RUN: %clang -### %s 2>&1 \
200+
// RUN: --target=arm-linux-androideabi -fuse-ld=ld -fsanitize=address \
201+
// RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \
202+
// RUN: -resource-dir=%S/Inputs/resource_dir \
203+
// RUN: -static-libasan \
204+
// RUN: | FileCheck --check-prefix=CHECK-ASAN-ANDROID-STATICLIBASAN %s
205+
//
199206
// CHECK-ASAN-ANDROID-STATICLIBASAN: "{{(.*[^.0-9A-Z_a-z])?}}ld.lld{{(.exe)?}}"
200207
// CHECK-ASAN-ANDROID-STATICLIBASAN: libclang_rt.asan.a"
201208
// CHECK-ASAN-ANDROID-STATICLIBASAN-NOT: "-lpthread"

0 commit comments

Comments
 (0)