objcopy "strip without global symbol" test

Alan Modra amodra@gmail.com
Wed Aug 27 12:16:40 GMT 2025
>From 93dfa8e923a06c52a707e19109fef07601f6d114 Mon Sep 17 00:00:00 2001
From: Alan Modra <amodra@gmail.com>
Date: Wed, 27 Aug 2025 17:36:57 +0930
Subject: 

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 seen 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.

diff --git a/binutils/testsuite/binutils-all/objcopy.exp b/binutils/testsuite/binutils-all/objcopy.exp
index 90be636e9de..c5ff1e3b3d1 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"]

-- 
Alan Modra


More information about the Binutils mailing list