From: Thomas Preud'homme Date: Tue, 26 Sep 2017 08:57:18 +0000 (+0100) Subject: Fix FAILs in compare-sections.exp X-Git-Tag: users/ARM/embedded-binutils-master-2017q4~942 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=df8899e5c8b60ffbbe93e35315ebb76a9c80ee37;p=external%2Fbinutils.git Fix FAILs in compare-sections.exp compare-sections.exp has two cases that are not handled appropriately: 1) value read with msb set 2) error while patching that section This patch adapts the "get value of read-only section" test to print the value as an unsigned integer to fix 1) and test for the error message to not set the written variable if read-only section cannot be written to so as to solve 2). 2017-09-26 Thomas Preud'homme Pedro Alves gdb/testsuite/ * gdb.base/compare-sections.exp (get value of read-only section): Read as unsigned value. (corrupt read-only section): Likewise and don't set written if patching failed. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 6584a23..4b6cb80 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2017-09-26 Thomas Preud'homme + Pedro Alves + + * gdb.base/compare-sections.exp (get value of read-only section): Read + as unsigned value. + (corrupt read-only section): Likewise and don't set written if patching + failed. + 2017-09-21 Kevin Buettner * gdb.python/py-thrhandle.c, gdb.python/py-thrhandle.exp: New diff --git a/gdb/testsuite/gdb.base/compare-sections.exp b/gdb/testsuite/gdb.base/compare-sections.exp index e4b9921..757ccf8 100644 --- a/gdb/testsuite/gdb.base/compare-sections.exp +++ b/gdb/testsuite/gdb.base/compare-sections.exp @@ -117,7 +117,7 @@ with_test_prefix "read-only" { set orig -1 set test "get value of read-only section" - gdb_test_multiple "print /d *(unsigned char *) $ro_address" "$test" { + gdb_test_multiple "print /u *(unsigned char *) $ro_address" "$test" { -re " = (\[0-9\]*).*$gdb_prompt $" { set orig $expect_out(1,string) pass "$test" @@ -135,7 +135,10 @@ with_test_prefix "read-only" { # Write PATCH to memory. set written -1 set test "corrupt read-only section" - gdb_test_multiple "print /d *(unsigned char *) $ro_address = $patch" "$test" { + gdb_test_multiple "print /u *(unsigned char *) $ro_address = $patch" "$test" { + -re " = .*Cannot access memory at address $ro_address.*$gdb_prompt $" { + pass "$test (cannot write)" + } -re " = (\[0-9\]*).*$gdb_prompt $" { set written $expect_out(1,string) pass "$test"