This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: ARM floating point regs regression
- From: Richard Earnshaw <rearnsha at arm dot com>
- To: Andrew Cagney <ac131313 at cygnus dot com>
- Cc: Richard dot Earnshaw at arm dot com, gdb at sources dot redhat dot com
- Date: Tue, 22 Jan 2002 17:29:27 +0000
- Subject: Re: ARM floating point regs regression
- Organization: ARM Ltd.
- Reply-to: Richard dot Earnshaw at arm dot com
> Hmm, type->type_specific.floatformat shouldn't be NULL here. Checking
> gdbtypes.c:
>
> builtin_type_i387_ext =
> init_type (TYPE_CODE_FLT, floatformat_i387_ext.totalsize / 8,
> 0, "builtin_type_i387_ext", NULL);
> TYPE_FLOATFORMAT (builtin_type_i387_ext) = &floatformat_i387_ext;
>
> which is good, but:
>
> builtin_type_arm_ext_littlebyte_bigword =
> init_type (TYPE_CODE_FLT,
> floatformat_arm_ext_littlebyte_bigword.totalsize / 8,
> 0, "builtin_type_arm_ext_littlebyte_bigword", NULL);
>
> is bad.
>
> I don't know how but almost all the lines initializing TYPE_FLOATFORMAT
> were lost.
>
Hmm, I think I understand why it is failing.
Although the FPA has an extended float format (which is used for stacking
regs across function calls), this type isn't used for "long double". So I
suspect the initialization code in gdbtypes.c is not setting it up
correctly for this case.
R.