]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
objcopy "strip without global symbol" test
authorAlan Modra <amodra@gmail.com>
Wed, 27 Aug 2025 08:06:57 +0000 (17:36 +0930)
committerAlan Modra <amodra@gmail.com>
Wed, 27 Aug 2025 12:15:12 +0000 (21:45 +0930)
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

index 90be636e9defefa3b39102cc2545318646eedb0f..c5ff1e3b3d1d51b70884653f8c3055a74a3f0c5d 100644 (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"]