aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorLuis Machado <luis.machado@linaro.org>2021-06-23 14:27:14 -0300
committerLuis Machado <luis.machado@linaro.org>2021-06-28 15:19:10 -0300
commit0a3b55a669ecde094afde207ba57ce478f9e1f6b (patch)
tree1b52962f9c41b40fcb0f848fdcc20d4ec2f0f234 /gdb
parentb447dd03c16d51c7b41c9af0756fc9db4ad95f0d (diff)
downloadfsf-binutils-gdb-0a3b55a669ecde094afde207ba57ce478f9e1f6b.zip
fsf-binutils-gdb-0a3b55a669ecde094afde207ba57ce478f9e1f6b.tar.gz
fsf-binutils-gdb-0a3b55a669ecde094afde207ba57ce478f9e1f6b.tar.bz2
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.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog8
-rw-r--r--gdb/aarch64-linux-tdep.c2
-rw-r--r--gdb/aarch64-linux-tdep.h4
3 files changed, 11 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 2c47197..0d80f3d 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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
diff --git a/gdb/aarch64-linux-tdep.c b/gdb/aarch64-linux-tdep.c
index 9602fc4..d541c6a 100644
--- a/gdb/aarch64-linux-tdep.c
+++ b/gdb/aarch64-linux-tdep.c
@@ -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 }
};
diff --git a/gdb/aarch64-linux-tdep.h b/gdb/aarch64-linux-tdep.h
index 62a6da8..0c731ca 100644
--- a/gdb/aarch64-linux-tdep.h
+++ b/gdb/aarch64-linux-tdep.h
@@ -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;