summaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.base
diff options
context:
space:
mode:
authorScott Bambrough <scottb@netwinder.org>2000-03-09 21:55:40 +0000
committerScott Bambrough <scottb@netwinder.org>2000-03-09 21:55:40 +0000
commit632b8d390f013e14871f9fac7c4b80aca874afd9 (patch)
tree3c195b9dbab5e294cc3d8d4e7c474a5d8fca48de /gdb/testsuite/gdb.base
parent27998ca7b6456ac73d2c172f5d9adccad37ff750 (diff)
downloadgdb-632b8d390f013e14871f9fac7c4b80aca874afd9.tar.gz
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. ARM doubles use a hybrid endian format. It is not strictly little or big endian. It is little endian with the words swapped.
Diffstat (limited to 'gdb/testsuite/gdb.base')
-rw-r--r--gdb/testsuite/gdb.base/long_long.exp18
1 files changed, 17 insertions, 1 deletions
diff --git a/gdb/testsuite/gdb.base/long_long.exp b/gdb/testsuite/gdb.base/long_long.exp
index 651daffc986..67f2423ae10 100644
--- a/gdb/testsuite/gdb.base/long_long.exp
+++ b/gdb/testsuite/gdb.base/long_long.exp
@@ -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 } {