~mdw
/
catacomb
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
base/regdump.h: Pass cooked register index to `REGDEF_GPX86_COMMON'.
[catacomb]
/
base
/
regdump.c
diff --git
a/base/regdump.c
b/base/regdump.c
index
d4f5fde
..
c591fd5
100644
(file)
--- a/
base/regdump.c
+++ b/
base/regdump.c
@@
-659,7
+659,7
@@
void regdump_fp(const struct regmap *map)
regdump(map, 0,
REGF_HEX | REGF_UNSGN | REGF_SGN | REGF_FLT | REGF_CHR |
REGF_64 | REGF_32 | REGF_16 | REGF_8 |
regdump(map, 0,
REGF_HEX | REGF_UNSGN | REGF_SGN | REGF_FLT | REGF_CHR |
REGF_64 | REGF_32 | REGF_16 | REGF_8 |
- REGSRC_
SIMD
| i | (6 << REGF_WDSHIFT));
+ REGSRC_
FP
| i | (6 << REGF_WDSHIFT));
printf(";; Floating-point state:\n");
dump_fpflags(0, map->fp->fpscr);
printf(";; Floating-point state:\n");
dump_fpflags(0, map->fp->fpscr);
@@
-857,6
+857,13
@@
void regdump(const void *base, const char *lbl, uint32 f)
case REGSRC_FP:
case REGSRC_SIMD:
map = (const struct regmap *)base;
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);
if (ix == REGIX_FPSCR) {
assert(!(f®F_FMTMASK));
dump_fpflags(lbl, map->fp->fpscr);