> Because the gdbarch vector tells GDB that TARGET_LONG_DOUBLE_BIT = 64bit, > we end up returning a NULL floatformat. And unfortunately for us, we > immediatly use that NULL floatformat to feed it to floatformat_is_valid(), > which dereferences it without checking that it's not NULL before hand. > This causes the SEGV. See values.c:unpack_double(): > > if (!floatformat_is_valid (floatformat_from_type (type), valaddr)) > { > *invp = 1; > return 0.0; > } Does the attached stop the crash? Andrew