[binutils-gdb] Re: Sign-extend start and stop address inputs to objdump

Alan Modra amodra@sourceware.org
Fri May 10 14:02:00 GMT 2019


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=391bf8918b16f9f3ad1060d5cb0fc0c4048421bb

commit 391bf8918b16f9f3ad1060d5cb0fc0c4048421bb
Author: Alan Modra <amodra@gmail.com>
Date:   Fri May 10 23:17:45 2019 +0930

    Re: Sign-extend start and stop address inputs to objdump
    
    git commit 2379f9c475 introduced an rx-elf test failure.  This fixes it.
    
    	* testsuite/binutils-all/objdump.exp (test_objdump_disas_limited),
    	(test_objdump_content_limited): Add text arg, use in place of .text.
    	(bintest_signed.o): Call get_standard_section_names for name of
    	text section.

Diff:
---
 binutils/ChangeLog                          |  7 +++++++
 binutils/testsuite/binutils-all/objdump.exp | 22 ++++++++++++++--------
 2 files changed, 21 insertions(+), 8 deletions(-)

diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index ecbe759..9f52572 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,10 @@
+2019-05-10  Alan Modra  <amodra@gmail.com>
+
+	* testsuite/binutils-all/objdump.exp (test_objdump_disas_limited),
+	(test_objdump_content_limited): Add text arg, use in place of .text.
+	(bintest_signed.o): Call get_standard_section_names for name of
+	text section.
+
 2019-05-08  Faraz Shahbazker  <fshahbazker@wavecomp.com>
 
 	* objdump.c (sign_extend_address): New function.
diff --git a/binutils/testsuite/binutils-all/objdump.exp b/binutils/testsuite/binutils-all/objdump.exp
index f25946c..beaf44f 100644
--- a/binutils/testsuite/binutils-all/objdump.exp
+++ b/binutils/testsuite/binutils-all/objdump.exp
@@ -690,15 +690,15 @@ proc test_objdump_limited { testfile dopt want start stop } {
 
 # Test objdump -d --start-address M --stop-address N
 
-proc test_objdump_disas_limited { testfile start stop } {
-    set want "$testfile:\[ 	\]*file format.*Disassembly of section .text:\n.*\[ \]*$start:.*"
+proc test_objdump_disas_limited { testfile text start stop } {
+    set want "$testfile:\[ 	\]*file format.*Disassembly of section $text:\n.*\[ \]*$start:.*"
     test_objdump_limited $testfile -d $want $start $stop
 }
 
 # Test objdump -s --start-address M --stop-address N
 
-proc test_objdump_content_limited { testfile start stop } {
-    set want "$testfile:\[ 	\]*file format.*Contents of section .text:\n\[ \]*$start .*"
+proc test_objdump_content_limited { testfile text start stop } {
+    set want "$testfile:\[ 	\]*file format.*Contents of section $text:\n\[ \]*$start .*"
     test_objdump_limited $testfile -s $want $start $stop
 }
 
@@ -709,9 +709,15 @@ proc test_objdump_content_limited { testfile start stop } {
 # start/stop limits.
 
 if {[is_elf_format]} then {
+    set sect_names [get_standard_section_names]
+    if { $sect_names != "" } {
+	set text [lindex $sect_names 0]
+    } else {
+	set text ".text"
+    }
     # generate a copy of the test object with .text repositioned
-    if { [binutils_run $OBJCOPY "--change-section-address .text=0x80000000 tmpdir/bintest.o tmpdir/bintest_signed.o"] != "" } {
-	fail "Failed to reposition .text to 0x80000000 (tmpdir/bintest.o -> tmpdir/bintest_signed.o)"
+    if { [binutils_run $OBJCOPY "--change-section-address $text=0x80000000 tmpdir/bintest.o tmpdir/bintest_signed.o"] != "" } {
+	fail "Failed to reposition $text to 0x80000000 (tmpdir/bintest.o -> tmpdir/bintest_signed.o)"
 	return
     }
 
@@ -721,8 +727,8 @@ if {[is_elf_format]} then {
 	set testfile3 tmpdir/bintest_signed.o
     }
 
-    test_objdump_content_limited $testfile3 "80000004" "80000008"
-    test_objdump_disas_limited $testfile3 "80000004" "80000008"
+    test_objdump_content_limited $testfile3 $text "80000004" "80000008"
+    test_objdump_disas_limited $testfile3 $text "80000004" "80000008"
     remote_file host delete $testfile3
 }



More information about the Binutils-cvs mailing list