summaryrefslogtreecommitdiff
path: root/gdb/aarch64-tdep.h
diff options
context:
space:
mode:
authorLuis Machado <luis.machado@arm.com>2022-09-15 15:57:01 +0100
committerLuis Machado <luis.machado@arm.com>2022-10-03 14:15:25 +0100
commite63ae49b6a87b779714c1dc922479a76882af977 (patch)
tree277a4f3a11d57617d7020e5c0b5e96b18aab08ac /gdb/aarch64-tdep.h
parent1ba3a3222039eb2576d29c9fd3af444f59fa51d2 (diff)
downloadbinutils-gdb-e63ae49b6a87b779714c1dc922479a76882af977.tar.gz
[AArch64] Handle W registers as pseudo-registers instead of aliases of X registers
The aarch64 port handles W registers as aliases of X registers. This is incorrect because X registers are 64-bit and W registers are 32-bit. This patch teaches GDB how to handle W registers as pseudo-registers of 32-bit, the bottom half of the X registers. Testcase included.
Diffstat (limited to 'gdb/aarch64-tdep.h')
-rw-r--r--gdb/aarch64-tdep.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/gdb/aarch64-tdep.h b/gdb/aarch64-tdep.h
index d8513023c37..55ccf2e777d 100644
--- a/gdb/aarch64-tdep.h
+++ b/gdb/aarch64-tdep.h
@@ -118,6 +118,10 @@ struct aarch64_gdbarch_tdep : gdbarch_tdep_base
{
return tls_regnum != -1;
}
+
+ /* The W pseudo-registers. */
+ int w_pseudo_base = 0;
+ int w_pseudo_count = 0;
};
const target_desc *aarch64_read_description (const aarch64_features &features);