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.
This commit is contained in:
Alan Modra
2025-08-27 17:36:57 +09:30
parent d8867f5d1b
commit 93dfa8e923

View File

@@ -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"]