From 93dfa8e923a06c52a707e19109fef07601f6d114 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Wed, 27 Aug 2025 17:36:57 +0930 Subject: objcopy "strip without global symbol" test This binutils test fails with -fsanitize. NOSANITIZE_CFLAGS isn't available in the binutils testsuite, and importing it over from ld requires a huge amount of tcl code to be moved. So I chose to simply add -fno-sanitize=all if -fsanitize= is seem in CFLAGS. * testsuite/binutils-all/objcopy.exp (objcopy_test_without_global_symbol): Add -fno-sanitize=all to flags if -fsanitize= is found in CFLAGS_FOR_TARGET. Tidy use of objfile. --- binutils/testsuite/binutils-all/objcopy.exp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/binutils/testsuite/binutils-all/objcopy.exp b/binutils/testsuite/binutils-all/objcopy.exp index 90be636..c5ff1e3 100644 --- a/binutils/testsuite/binutils-all/objcopy.exp +++ b/binutils/testsuite/binutils-all/objcopy.exp @@ -1463,18 +1463,23 @@ proc objcopy_test_without_global_symbol { } { global OBJDUMPFLAGS global srcdir global subdir + global CFLAGS_FOR_TARGET set test "strip without global symbol " - if { [target_compile $srcdir/$subdir/pr19547.c tmpdir/pr19547.o object debug] != "" } { + set opts "debug" + if [string match "*-fsanitize=*" $CFLAGS_FOR_TARGET] { + append opts " additional_flags=-fno-sanitize=all" + } + + set objfile tmpdir/pr19547.o + if { [target_compile $srcdir/$subdir/pr19547.c $objfile object $opts] != "" } { untested $test return } if [is_remote host] { - set objfile [remote_download host tmpdir/pr19547.o] - } else { - set objfile tmpdir/pr19547.o + set objfile [remote_download host $objfile] } set exec_output [binutils_run $OBJCOPY "$OBJCOPYFLAGS --strip-unneeded $objfile"] -- cgit v1.1