X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Ftestsuite%2Fgdb.base%2Fdump.exp;h=4e616aaace33559f668701737b9c603ad1796749;hb=c0ac0ec78df5972b67b7048c85440c68764d3c8e;hp=a55dc50932bfda2c887f58202e6f9fa798545858;hpb=8d394f983f6278244b32a2e224c55d521f61ae9f;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/testsuite/gdb.base/dump.exp b/gdb/testsuite/gdb.base/dump.exp index a55dc50932..4e616aaace 100644 --- a/gdb/testsuite/gdb.base/dump.exp +++ b/gdb/testsuite/gdb.base/dump.exp @@ -1,21 +1,17 @@ -# Copyright 2002, 2004 Free Software Foundation, Inc. +# Copyright 2002, 2004, 2007, 2008, 2009 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. -# +# # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -# +# # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu +# along with this program. If not, see . # This file was written by Michael Snyder (msnyder@redhat.com) # This is a test for the gdb command "dump". @@ -34,6 +30,7 @@ set binfile ${objdir}/${subdir}/${testfile} set options {debug} set is64bitonly "no" +set endian "auto" if [istarget "alpha*-*-*"] then { # SREC etc cannot handle 64-bit addresses. Force the test @@ -41,12 +38,19 @@ if [istarget "alpha*-*-*"] then { lappend options "additional_flags=-Wl,-taso" } -if [istarget "ia64*-*-*"] then { +if {[istarget "ia64*-*-*"] || [istarget "hppa64-*-*"]} then { + set is64bitonly "yes" +} + +if {[istarget "spu*-*-*"]} then { + # The internal address format used for the combined Cell/B.E. + # debugger requires 64-bit. set is64bitonly "yes" } if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable ${options}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." + untested dump.exp + return -1 } # Start with a fresh gdb. @@ -54,6 +58,10 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable ${op gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir + +gdb_test "dump mem /dev/null 0x10 0x20" "Cannot access memory at address 0x10" \ + "inaccessible memory is reported" + gdb_load ${binfile} # Clean up any stale output files from previous test runs @@ -65,7 +73,21 @@ remote_exec build "rm -f intarr1.bin intarr1b.bin intarr1.ihex intarr1.srec inta # Run target program until data structs are initialized. if { ! [ runto checkpoint1 ] } then { - gdb_suppress_entire_file "Program failed to run, so all tests in this file will automatically fail." + untested dump.exp + return -1 +} + +# Get the endianness for the later use with endianless formats. + +send_gdb "show endian\n" +gdb_expect { + -re ".* (big|little) endian.*$gdb_prompt $" { + set endian $expect_out(1,string) + pass "endianness: $endian" + } + default { + fail "(timeout) getting target endianness" + } } # Now generate some dump files. @@ -188,6 +210,18 @@ gdb_exit gdb_start gdb_file_cmd ${binfile} +# Now fix the endianness at the correct state. + +send_gdb "set endian $endian\n" +gdb_expect { + -re ".* (big|little) endian.*$gdb_prompt $" { + pass "setting $endian endianness" + } + default { + fail "(timeout) setting $endian endianness" + } +} + # Reload saved values one by one, and compare. if { ![string compare $array_val \ @@ -276,7 +310,8 @@ gdb_load ${binfile} # Run to main. if { ! [ runto_main ] } then { - gdb_suppress_entire_file "Program failed to run, so remaining tests in this file will automatically fail." + untested dump.exp + return -1 } if { ![string compare $array_val \