Fix tag_ctl register size in the core file.

This register should be 64 bits in size, but the current code only saves
32 bits. This is due to an early assumption that tag_ctl would be 32 bits
in size.

gdb/ChangeLog:

2021-06-28  Luis Machado  <luis.machado@linaro.org>

	* aarch64-linux-tdep.c
	(aarch64_linux_iterate_over_regset_sections): Update tag_ctl register
	size.
	* aarch64-linux-tdep.h (AARCH64_LINUX_SIZEOF_MTE_REGSET): Set to
	8 and update comments.
This commit is contained in:
Luis Machado
2021-06-23 14:27:14 -03:00
parent b447dd03c1
commit 0a3b55a669
3 changed files with 11 additions and 3 deletions

View File

@@ -1,3 +1,11 @@
2021-06-28 Luis Machado <luis.machado@linaro.org>
* aarch64-linux-tdep.c
(aarch64_linux_iterate_over_regset_sections): Update tag_ctl register
size.
* aarch64-linux-tdep.h (AARCH64_LINUX_SIZEOF_MTE_REGSET): Set to
8 and update comments.
2021-06-28 Simon Marchi <simon.marchi@polymtl.ca>
* gdbarch.sh (struct gdbarch_info): Initialize fields, add

View File

@@ -735,7 +735,7 @@ aarch64_linux_iterate_over_regset_sections (struct gdbarch *gdbarch,
/* Create this on the fly in order to handle the variable location. */
const struct regcache_map_entry mte_regmap[] =
{
{ 1, tdep->mte_reg_base, 4},
{ 1, tdep->mte_reg_base, 8},
{ 0 }
};

View File

@@ -36,8 +36,8 @@
/* The pauth regset consists of 2 X sized registers. */
#define AARCH64_LINUX_SIZEOF_PAUTH (2 * X_REGISTER_SIZE)
/* The MTE regset consists of a 32-bit register. */
#define AARCH64_LINUX_SIZEOF_MTE_REGSET (4)
/* The MTE regset consists of a 64-bit register. */
#define AARCH64_LINUX_SIZEOF_MTE_REGSET (8)
extern const struct regset aarch64_linux_gregset;
extern const struct regset aarch64_linux_fpregset;