2000-02-25 Scott Bambrough <scottb@netwinder.org>
authorScott Bambrough <scottb@netwinder.org>
Thu, 9 Mar 2000 21:55:40 +0000 (21:55 +0000)
committerScott Bambrough <scottb@netwinder.org>
Thu, 9 Mar 2000 21:55:40 +0000 (21:55 +0000)
* gdb.base/long_long.exp: Correct test suite failure when printing
a long long value as a double on ARM platforms.

ARM doubles use a hybrid endian format.  It is not strictly little or big
endian.  It is little endian with the words swapped.

gdb/ChangeLog
gdb/testsuite/gdb.base/long_long.exp

index 118da3821fc5cfc30717312f21877d6951588388..96f51d355997de131457c81882fab5275bec52d4 100644 (file)
@@ -1,3 +1,8 @@
+2000-02-25  Scott Bambrough <scottb@netwinder.org>
+
+       * gdb.base/long_long.exp: Correct test suite failure when printing
+       a long long value as a double on ARM platforms.
+
 Thu Mar  9 14:21:07 2000  Andrew Cagney  <cagney@b1.cygnus.com>
 
        * MAINTAINERS (Core): Anthony Green is the Java - including
index 651daffc986e903a79626eae4ecfbf41bb9a616e..67f2423ae10e542e3eb72d5953586989c0aab114 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
+# Copyright (C) 1997, 1998, 1999, 2000 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
@@ -121,11 +121,27 @@ gdb_test "p/c oct" ".*'w'.*"
 
 if { $sizeof_double == 8 } {
 
+# ARM floating point numbers are not strictly little endian or big endian,
+# but a hybrid.  They are in little endian format with the two words
+# swapped in big endian format.
+
+  if [ istarget "arm*-*-*" ] then {
+
+#   assume the long long represents a floating point double in ARM format
+     gdb_test "p/f oct" ".*2.1386676354387559e\\+265.*"
+
+  } else {
+
+#   assume the long long represents a floating point double in little
+#   endian format
     gdb_test "p/f oct" ".*-5.9822653797615723e-120.*"
 
+  }
+
 } else {
 
     gdb_test "p/f oct" ".*-2.42716126e-15.*"
+
 }
 
 if { $target_bigendian_p } {