From: Tom de Vries Date: Mon, 18 Jul 2022 04:20:38 +0000 (+0200) Subject: [gdb/testsuite] Allow override of ASAN_OPTIONS in lib/gdb.exp X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c3d3b64b34bff289f178e2267e6363f71b0c4234;p=binutils-gdb.git [gdb/testsuite] Allow override of ASAN_OPTIONS in lib/gdb.exp Use set_sanitizer_default for ASAN_OPTIONS in lib/gdb.exp. This allows us to override the default detect_leaks=0 setting, by manually doing: ... $ export ASAN_OPTIONS=detect_leaks=1 $ make check ... Tested on x86_64-linux, by building with -fsanitize=address and running test-case gdb.dwarf2/gdb-add-index.exp with and without "export ASAN_OPTIONS=detect_leaks=1". --- diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index 5d6f1266b0f..ef68c3ce9fb 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -25,13 +25,6 @@ if {$tool == ""} { exit 2 } -# If GDB is built with ASAN (and because there are leaks), it will output a -# leak report when exiting as well as exit with a non-zero (failure) status. -# This can affect tests that are sensitive to what GDB prints on stderr or its -# exit status. Add `detect_leaks=0` to the ASAN_OPTIONS environment variable -# (which will affect any spawned sub-process) to avoid this. -append ::env(ASAN_OPTIONS) ",detect_leaks=0" - # Add VAR_ID=VAL to ENV_VAR, unless ENV_VAR already contains a VAR_ID setting. proc set_sanitizer_default { env_var var_id val } { @@ -58,6 +51,13 @@ proc set_sanitizer_default { env_var var_id val } { set_sanitizer_default TSAN_OPTIONS suppressions \ $srcdir/../tsan-suppressions.txt +# If GDB is built with ASAN (and because there are leaks), it will output a +# leak report when exiting as well as exit with a non-zero (failure) status. +# This can affect tests that are sensitive to what GDB prints on stderr or its +# exit status. Add `detect_leaks=0` to the ASAN_OPTIONS environment variable +# (which will affect any spawned sub-process) to avoid this. +set_sanitizer_default ASAN_OPTIONS detect_leaks 0 + # List of procs to run in gdb_finish. set gdb_finish_hooks [list]