From f1a6b754ab6c23051e6365b89dd9f89dfbfdf642 Mon Sep 17 00:00:00 2001 From: Scott Bambrough Date: Thu, 9 Mar 2000 21:55:40 +0000 Subject: 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. 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 | 5 +++++ gdb/testsuite/gdb.base/long_long.exp | 18 +++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) 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 + + * 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 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 } { -- cgit v1.1