* gdb.base/dump.exp: Force the correct endianness for binary
authorMaciej W. Rozycki <macro@linux-mips.org>
Mon, 30 Jul 2007 12:24:22 +0000 (12:24 +0000)
committerMaciej W. Rozycki <macro@linux-mips.org>
Mon, 30 Jul 2007 12:24:22 +0000 (12:24 +0000)
formats not carrying this information.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/dump.exp

index 7273faa..8d4d846 100644 (file)
@@ -1,3 +1,8 @@
+2007-07-30  Maciej W. Rozycki  <macro@mips.com>
+
+       * gdb.base/dump.exp: Force the correct endianness for binary
+       formats not carrying this information.
+
 2007-07-27  Daniel Jacobowitz  <dan@codesourcery.com>
 
        * gdb.threads/staticthreads.exp: Match .*sem_post.
index 00ad65b..90a3632 100644 (file)
@@ -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 \