This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH] Move ARM_CPSR_GREGNUM to arch/arm-linux.h
- From: Yao Qi <qiyaoltc at gmail dot com>
- To: gdb-patches at sourceware dot org
- Date: Wed, 20 Apr 2016 12:26:14 +0100
- Subject: [PATCH] Move ARM_CPSR_GREGNUM to arch/arm-linux.h
- Authentication-results: sourceware.org; auth=none
This patch moves macro ARM_CPSR_GREGNUM to arch/arm-linux.h so that it
can be used in GDBserver side. I'll push it in.
gdb:
2016-04-20 Yao Qi <yao.qi@linaro.org>
* arm-linux-tdep.h (ARM_CPSR_GREGNUM): Move it to ...
* arch/arm-linux.h: ... here.
gdb/gdbserver:
2016-04-20 Yao Qi <yao.qi@linaro.org>
* linux-aarch32-low.c: Include "arch/arm-linux.h".
(arm_fill_gregset): Use ARM_CPSR_GREGNUM rather than magic
number 16.
* linux-aarch32-low.c (arm_store_gregset): Likewise.
---
gdb/arch/arm-linux.h | 3 +++
gdb/arm-linux-tdep.h | 3 ---
gdb/gdbserver/linux-aarch32-low.c | 5 +++--
3 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/gdb/arch/arm-linux.h b/gdb/arch/arm-linux.h
index dfd634c..ed83da9 100644
--- a/gdb/arch/arm-linux.h
+++ b/gdb/arch/arm-linux.h
@@ -20,6 +20,9 @@
#ifndef ARM_LINUX_H
#define ARM_LINUX_H
+/* The index to access CSPR in user_regs defined in GLIBC. */
+#define ARM_CPSR_GREGNUM 16
+
/* There are a couple of different possible stack layouts that
we need to support.
diff --git a/gdb/arm-linux-tdep.h b/gdb/arm-linux-tdep.h
index 99f1777..be18a64 100644
--- a/gdb/arm-linux-tdep.h
+++ b/gdb/arm-linux-tdep.h
@@ -24,9 +24,6 @@ struct regcache;
+ 2 * INT_REGISTER_SIZE \
+ 8 + INT_REGISTER_SIZE)
-/* The index to access CSPR in user_regs defined in GLIBC. */
-#define ARM_CPSR_GREGNUM 16
-
/* Support for register format used by the NWFPE FPA emulator. Each
register takes three words, where either the first one, two, or
three hold a single, double, or extended precision value (depending
diff --git a/gdb/gdbserver/linux-aarch32-low.c b/gdb/gdbserver/linux-aarch32-low.c
index 2bbbb24..0c4b140 100644
--- a/gdb/gdbserver/linux-aarch32-low.c
+++ b/gdb/gdbserver/linux-aarch32-low.c
@@ -17,6 +17,7 @@
#include "server.h"
#include "arch/arm.h"
+#include "arch/arm-linux.h"
#include "linux-low.h"
#include "linux-aarch32-low.h"
@@ -65,7 +66,7 @@ arm_fill_gregset (struct regcache *regcache, void *buf)
for (i = ARM_A1_REGNUM; i <= ARM_PC_REGNUM; i++)
collect_register (regcache, i, ®s[i]);
- collect_register (regcache, ARM_PS_REGNUM, ®s[16]);
+ collect_register (regcache, ARM_PS_REGNUM, ®s[ARM_CPSR_GREGNUM]);
}
/* Supply GP registers contents, stored in BUF, to REGCACHE. */
@@ -84,7 +85,7 @@ arm_store_gregset (struct regcache *regcache, const void *buf)
for (; i < ARM_PS_REGNUM; i++)
supply_register (regcache, i, zerobuf);
- supply_register (regcache, ARM_PS_REGNUM, ®s[16]);
+ supply_register (regcache, ARM_PS_REGNUM, ®s[ARM_CPSR_GREGNUM]);
}
/* Collect NUM number of VFP registers from REGCACHE to buffer BUF. */
--
1.9.1