This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: ARM floating point regs regression


> 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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]