diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 118da3821f..96f51d3559 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2000-02-25 Scott Bambrough + + * 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 * 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 651daffc98..67f2423ae1 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 } {