* gdb.base/dump.exp: Force the correct endianness for binary
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.base / dump.exp
index 742828a2b8e14093a9d166099fe15345fc3f958d..90a363253f1e0cd25aa1593bfa5d516ac2a799ae 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 2002, 2004 Free Software Foundation, Inc.
+# Copyright 2002, 2004, 2007 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
@@ -34,6 +34,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
@@ -70,6 +71,19 @@ if { ! [ runto checkpoint1 ] } then {
     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.
 
 proc make_dump_file { command msg } {
@@ -190,6 +204,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 \
This page took 0.024779 seconds and 4 git commands to generate.