Warn if core file register section is larger than expected

When reading a core file register section which is larger than
expected, emit a warning.  Assume that a register section usually has
exactly the size specified by the regset section iterator.  In some
special cases this assumption is wrong, or at least does not match the
regset supply function's logic.  Thus also add a way to suppress the
warning in those cases, using a new flag REGSET_VARIABLE_SIZE.

gdb/ChangeLog:

	* regset.h (struct regset): Add flags field.
	(REGSET_VARIABLE_SIZE): New value for a regset's flags field.
	* corelow.c (get_core_register_section): Add warning if the size
	exceeds the requested size and the regset does not have the
	REGSET_VARIABLE_SIZE flag set.
	* alphanbsd-tdep.c (alphanbsd_gregset): Add REGSET_VARIABLE_SIZE
	flag.
	* armbsd-tdep.c (armbsd_gregset): Likewise.
	* hppa-hpux-tdep.c (hppa_hpux_regset): Likewise.
	* hppaobsd-tdep.c (hppaobsd_gregset): Likewise.
	* m68kbsd-tdep.c (m68kbsd_gregset): Likewise.
	* mipsnbsd-tdep.c (mipsnbsd_gregset): Likewise.
This commit is contained in:
Andreas Arnez
2015-01-15 10:20:45 +00:00
committed by Ulrich Weigand
parent dde9acd693
commit f962539ad2
9 changed files with 45 additions and 6 deletions

View File

@@ -145,7 +145,9 @@ alphanbsd_supply_gregset (const struct regset *regset,
static const struct regset alphanbsd_gregset =
{
NULL,
alphanbsd_supply_gregset
alphanbsd_supply_gregset,
NULL,
REGSET_VARIABLE_SIZE
};
static const struct regset alphanbsd_fpregset =