> I don't know how but almost all the lines initializing TYPE_FLOATFORMAT >> were lost. >> (try the attached, if it works, I'll add a few extra assertions so that the coredump can't occure). > > > 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. It shouldn't have got that far. the FPA extended float should have TYPE_FLOATFORMAT set so that GDB can correctly and directly manipulate the floating point value - no conversions being needed. The above should stop this. Only as a last resort should gdb be trying to map a floating point type onto one of float, double or long double. BTW, it didn't work this way in the past. In the ``good old days'' GDB would convert hardware floating point formats into float, double, or long double (no matter how lossy that process was). Andrew