diff options
author | Scott Bambrough <scottb@netwinder.org> | 2000-03-09 21:55:40 +0000 |
---|---|---|
committer | Scott Bambrough <scottb@netwinder.org> | 2000-03-09 21:55:40 +0000 |
commit | f1a6b754ab6c23051e6365b89dd9f89dfbfdf642 (patch) | |
tree | a964d556fadc2f1b03098627c788973d53fb750b | |
parent | 9282ff415550175b865c533af5d2f0668646e39f (diff) | |
download | gdb-f1a6b754ab6c23051e6365b89dd9f89dfbfdf642.zip gdb-f1a6b754ab6c23051e6365b89dd9f89dfbfdf642.tar.gz gdb-f1a6b754ab6c23051e6365b89dd9f89dfbfdf642.tar.bz2 |
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.
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/long_long.exp | 18 |
2 files changed, 22 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 118da38..96f51d3 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -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 diff --git a/gdb/testsuite/gdb.base/long_long.exp b/gdb/testsuite/gdb.base/long_long.exp index 651daff..67f2423 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 } { |