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.
This commit is contained in:
Scott Bambrough 2000-03-09 21:55:40 +00:00
parent 9282ff4155
commit f1a6b754ab
2 changed files with 22 additions and 1 deletions

View 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

View 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 } {