This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
ARM floating point regs regression
- From: Richard Earnshaw <rearnsha at arm dot com>
- To: gdb at sources dot redhat dot com, Andrew Cagney <ac131313 at cygnus dot com>
- Cc: Richard dot Earnshaw at arm dot com
- Date: Tue, 22 Jan 2002 17:09:44 +0000
- Subject: ARM floating point regs regression
- Organization: ARM Ltd.
- Reply-to: Richard dot Earnshaw at arm dot com
Andrew,
The following regressions in the testsuite seem to be coming from this
patch:
2002-01-20 Andrew Cagney <ac131313@redhat.com>
* doublest.h (floatformat_from_type): Declare.
* doublest.c (floatformat_from_type): New function.
(convert_typed_floating): Use.
* valprint.c (print_floating): Replace checks for IEEE_FLOAT with
call to function floatformat_from_type.
All these occur after an "info all-registers", which causes gdb to
segfault:
ERROR: Couldn't send p t_char_values(0,0) to GDB.
UNRESOLVED: gdb.base/callfuncs.exp: p t_char_values(0,0)
ERROR: Couldn't send p t_char_values('a','b') to GDB.
UNRESOLVED: gdb.base/callfuncs.exp: p t_char_values('a','b')
ERROR: Couldn't send p t_char_values(char_val1,char_val2) to GDB.
UNRESOLVED: gdb.base/callfuncs.exp: p t_char_values(char_val1,char_val2)
ERROR: Couldn't send p t_char_values('a',char_val2) to GDB.
UNRESOLVED: gdb.base/callfuncs.exp: p t_char_values('a',char_val2)
ERROR: Couldn't send p t_char_values(char_val1,'b') to GDB.
UNRESOLVED: gdb.base/callfuncs.exp: p t_char_values(char_val1,'b')
ERROR: Couldn't send p t_short_values(0,0) to GDB.
UNRESOLVED: gdb.base/callfuncs.exp: p t_short_values(0,0)
ERROR: Couldn't send p t_short_values(10,-23) to GDB.
UNRESOLVED: gdb.base/callfuncs.exp: p t_short_values(10,-23)
ERROR: Couldn't send p t_short_values(short_val1,short_val2) to GDB.
UNRESOLVED: gdb.base/callfuncs.exp: p t_short_values(short_val1,short_val2)
ERROR: Couldn't send p t_short_values(10,short_val2) to GDB.
UNRESOLVED: gdb.base/callfuncs.exp: p t_short_values(10,short_val2)
(gdb) info all-reg
r0 0x0 0
r1 0x200c8774 537692020
r2 0x2 2
r3 0x200c877c 537692028
r4 0xefbfd334 -272641228
r5 0xefbfd264 -272641436
r6 0xefbfd26c -272641428
r7 0x1 1
r8 0x0 0
r9 0x0 0
r10 0x0 0
r11 0xefbfd238 -272641480
r12 0xefbfd204 -272641532
sp 0xefbfd22c -272641492
lr 0x1ccc 7372
pc 0x1bf8 7160
Program received signal SIGSEGV, Segmentation fault.
floatformat_is_nan (fmt=0x0, val=0xefbfcc14 "")
at /nfs/sun18//work/rearnsha/gnusrc/src/gdb/src/gdb/doublest.c:457
457 if (! fmt->exp_nan)
(top-gdb) p fmt
$1 = (struct floatformat *) 0x0
(top-gdb) where
#0 floatformat_is_nan (fmt=0x0, val=0xefbfcc14 "")
at /nfs/sun18//work/rearnsha/gnusrc/src/gdb/src/gdb/doublest.c:457
#1 0x0007ba4c in c_val_print (type=0x1c0d80, valaddr=0xefbfcc14 "",
embedded_offset=0, address=0, stream=0x1ae000, format=0, deref_ref=1,
recurse=0, pretty=Val_no_prettyprint)
at /nfs/sun18//work/rearnsha/gnusrc/src/gdb/src/gdb/c-valprint.c:439
#2 0x00016400 in val_print (type=0x1c0d80, valaddr=0xefbfcc14 "",
embedded_offset=0, address=0, stream=0x1ae000, format=0, deref_ref=1,
recurse=0, pretty=Val_pretty_default)
...
Breakpoint 3, print_floating (valaddr=0xefbfcc14 "", type=0x1c0d80,
stream=0x0)
at /nfs/sun18//work/rearnsha/gnusrc/src/gdb/src/gdb/valprint.c:551
551 const struct floatformat *fmt = floatformat_from_type (type);
(top-gdb) p type
$2 = (struct type *) 0x1c0d80
(top-gdb) p *type
$3 = {code = TYPE_CODE_FLT,
name = 0x527c8 "builtin_type_arm_ext_littlebyte_bigword", tag_name =
0x0,
length = 12, upper_bound_type = 0, lower_bound_type = 0, objfile = 0x0,
target_type = 0x0, pointer_type = 0x0, reference_type = 0x0,
cv_type = 0x1c0d80, as_type = 0x1c0d80, flags = 0, nfields = 0,
fields = 0x0, vptr_basetype = 0x0, vptr_fieldno = -1, type_specific = {
arg_types = 0x0, cplus_stuff = 0x0, floatformat = 0x0}}