From 2a880053bbc1cf794d4488f006defee2818f2dc8 Mon Sep 17 00:00:00 2001 From: Gabriel Busnot Date: Wed, 12 Jul 2023 20:24:18 +0200 Subject: [PATCH] Sanitizer libraries static linking (#70) * scons: Fix sanitizer lib link for clang Change-Id: I2441466c5c9343afd938185b8ec5047d4e95ac70 * scons: Statically link libubsan when using sanitizers with gcc Change-Id: I362a1fb87771454ad94e439847a85d19108f375a --------- Co-authored-by: Gabriel Busnot --- SConstruct | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/SConstruct b/SConstruct index 9b25b33783..32e0c36e09 100755 --- a/SConstruct +++ b/SConstruct @@ -562,10 +562,14 @@ for variant_path in variant_paths: if sanitizers: sanitizers = ','.join(sanitizers) if env['GCC'] or env['CLANG']: + libsan = ( + ['-static-libubsan', '-static-libasan'] + if env['GCC'] + else ['-static-libsan'] + ) env.Append(CCFLAGS=['-fsanitize=%s' % sanitizers, '-fno-omit-frame-pointer'], - LINKFLAGS=['-fsanitize=%s' % sanitizers, - '-static-libasan']) + LINKFLAGS=['-fsanitize=%s' % sanitizers] + libsan) if main["BIN_TARGET_ARCH"] == "x86_64": # Sanitizers can enlarge binary size drammatically, north of