On ARM32 (only), you really /must/ call `regdump_init' before dumping
VFP/NEON registers because otherwise there's no way to tell that they
need saving -- so they aren't and an important pointer is left null.
Rather than crashing, detect this and print a message explaining why the
register can't be dumped.
case REGSRC_FP:
case REGSRC_SIMD:
map = (const struct regmap *)base;
+ if (!map->fp) {
+ printf(";;");
+ if (lbl) printf(" %s:", lbl);
+ if (reg) printf(" %s =", reg);
+ printf(" #<not available -- regdump_init?>\n");
+ return;
+ }
if (ix == REGIX_FPSCR) {
assert(!(f®F_FMTMASK));
dump_fpflags(lbl, map->fp->fpscr);