[PATCH v3] binutils: testsuite: convert binary symbol tests to run_dump_test

Alon Bar-Lev alon.barlev@gmail.com
Sat Nov 8 10:59:28 GMT 2025


Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
---
 .../binutils-all/binary-symbol-explicit.d     | 11 ++++++
 .../binutils-all/binary-symbol-implicit.d     | 11 ++++++
 binutils/testsuite/binutils-all/objcopy.exp   | 34 +++----------------
 3 files changed, 27 insertions(+), 29 deletions(-)
 create mode 100644 binutils/testsuite/binutils-all/binary-symbol-explicit.d
 create mode 100644 binutils/testsuite/binutils-all/binary-symbol-implicit.d

diff --git a/binutils/testsuite/binutils-all/binary-symbol-explicit.d b/binutils/testsuite/binutils-all/binary-symbol-explicit.d
new file mode 100644
index 00000000000..820384dc735
--- /dev/null
+++ b/binutils/testsuite/binutils-all/binary-symbol-explicit.d
@@ -0,0 +1,11 @@
+#name: binary symbols (explicit)
+#PROG: objcopy
+#objcopy: -I binary --binary-symbol-prefix symbol1
+#source: version.s
+#nm: -a
+
+#...
+[0-9a-fA-F]+?[ ]+[TtDd] symbol1_end
+[0-9a-fA-F]+?[ ]+[TtDdA] symbol1_size
+[0-9a-fA-F]+?[ ]+[TtDd] symbol1_start
+#...
diff --git a/binutils/testsuite/binutils-all/binary-symbol-implicit.d b/binutils/testsuite/binutils-all/binary-symbol-implicit.d
new file mode 100644
index 00000000000..2a57b9c5206
--- /dev/null
+++ b/binutils/testsuite/binutils-all/binary-symbol-implicit.d
@@ -0,0 +1,11 @@
+#name: binary symbols (implicit)
+#PROG: objcopy
+#objcopy: -I binary
+#source: version.s
+#nm: -a
+
+#...
+[0-9a-fA-F]+?[ ]+[TtDd] _binary_tmpdir_version_o_end
+[0-9a-fA-F]+?[ ]+[TtDdA] _binary_tmpdir_version_o_size
+[0-9a-fA-F]+?[ ]+[TtDd] _binary_tmpdir_version_o_start
+#...
diff --git a/binutils/testsuite/binutils-all/objcopy.exp b/binutils/testsuite/binutils-all/objcopy.exp
index e6fcf5f7f12..42a76b3d5f7 100644
--- a/binutils/testsuite/binutils-all/objcopy.exp
+++ b/binutils/testsuite/binutils-all/objcopy.exp
@@ -1605,39 +1605,15 @@ objcopy_tek2bin
 
 # Test objcopy -I binary and --binary-symbol-prefix
 
-proc binary_symbol {name file args symbol} {
+proc binary_symbol {tag} {
     global OBJCOPY
-    global NM
-    global NMFLAGS
 
-    set test "binary symbol ($name)"
-
-    # detect a valid target, take the first supported
     set inf [split [binutils_run $OBJCOPY "--info"] \n]
     set target [lindex $inf 1]
     set arch [string trim [lindex $inf 3]]
-
-    set out tmpdir/binary_${name}.o
-    set got [binutils_run $OBJCOPY "-I binary -B $arch -O $target $args $file $out"]
-
-    set expected [list "${symbol}_end" "${symbol}_size" "${symbol}_start"]
-
-    set exec_output [binutils_run $NM "-a $NMFLAGS $out"]
-    set exec_output [prune_warnings $exec_output]
-    set actual {}
-    while {[regexp {^[0-9a-fA-F]+?[ ]+[TtDdA] ([0-9a-zA-Z_]+)[\r\n]+(.*)$} ${exec_output} all s rest]} {
-	set actual [concat $actual $s]
-	set exec_output $rest
-    }
-
-    if {[lsort $expected] ne [lsort $actual]} {
-	send_log "expected: $expected, actual: $actual\n"
-	fail $test
-	return
-    }
-
-    pass $test
+    # as always runs, not critical as we do not check the content
+    run_dump_test "binary-symbol-${tag}" [list [list objcopy "-B $arch -O $target" ] ]
 }
 
-binary_symbol implicit $srcdir/$subdir/version.s "" _binary_[regsub -all {[^0-9a-zA-Z]} $srcdir/$subdir/version.s _]
-binary_symbol explicit $srcdir/$subdir/version.s "--binary-symbol-prefix symbol1" symbol1
+binary_symbol "explicit"
+binary_symbol "implicit"
-- 
2.43.0



More information about the Binutils mailing list