I also double checked to make sure that what is passed down from the kernel (via sigcontext), is the full 64bit.
Thanks,
Andrew Pinski
2013-12-18 Andrew Pinski<apinski@cavium.com>
* features/aarch64-core.xml (cpsr): Change to be 64bit.
* features/aarch64.c: Regenerate.
---
gdb/ChangeLog | 5 +++++
gdb/features/aarch64-core.xml | 2 +-
gdb/features/aarch64.c | 2 +-
3 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 513c593..6bde494 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2013-12-18 Andrew Pinski<apinski@cavium.com>
+
+ * features/aarch64-core.xml (cpsr): Change to be 64bit.
+ * features/aarch64.c: Regenerate.
+
2013-12-18 Yufeng Zhang<yufeng.zhang@arm.com>
* aarch64-linux-nat.c (aarch64_linux_set_debug_regs): Set
diff --git a/gdb/features/aarch64-core.xml b/gdb/features/aarch64-core.xml
index 53c63b2..8549eeb 100644
--- a/gdb/features/aarch64-core.xml
+++ b/gdb/features/aarch64-core.xml
@@ -42,5 +42,5 @@
<reg name="sp" bitsize="64" type="data_ptr"/>
<reg name="pc" bitsize="64" type="code_ptr"/>
-<reg name="cpsr" bitsize="32"/>
+<reg name="cpsr" bitsize="64"/>
</feature>
diff --git a/gdb/features/aarch64.c b/gdb/features/aarch64.c
index 1e9a99d..31a148e 100644
--- a/gdb/features/aarch64.c
+++ b/gdb/features/aarch64.c
@@ -50,7 +50,7 @@ initialize_tdesc_aarch64 (void)
tdesc_create_reg (feature, "x30", 30, 1, NULL, 64, "int");
tdesc_create_reg (feature, "sp", 31, 1, NULL, 64, "data_ptr");
tdesc_create_reg (feature, "pc", 32, 1, NULL, 64, "code_ptr");
- tdesc_create_reg (feature, "cpsr", 33, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "cpsr", 33, 1, NULL, 64, "int");
feature = tdesc_create_feature (result, "org.gnu.gdb.aarch64.fpu");
field_type = tdesc_named_type (feature, "ieee_double");