aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Walker <keith.walker@arm.com>2001-12-05 15:11:48 +0000
committerKeith Walker <keith.walker@arm.com>2001-12-05 15:11:48 +0000
commitae45a35b444897e5dfd902d37386c4b6e54f2122 (patch)
tree2530e9a8d65b7097ae4c145ff178ba241a5e84c4
parent249172c3f2d740b8bd9265a58a3a83dfc9228d93 (diff)
downloadgdb-ae45a35b444897e5dfd902d37386c4b6e54f2122.zip
gdb-ae45a35b444897e5dfd902d37386c4b6e54f2122.tar.gz
gdb-ae45a35b444897e5dfd902d37386c4b6e54f2122.tar.bz2
* gdbserver/low-linux.c (arm_register_u_addr): added.
(initialize_arch): added for ARM target. * config/arm/nm-linux.h (U_REGS_OFFSET) defined. (REGISTER_U_ADDR) defined. * config/arm/tm-linux.h (ARM_GNULINUX_TARGET) defined.
-rw-r--r--gdb/ChangeLog7
-rw-r--r--gdb/config/arm/nm-linux.h9
-rw-r--r--gdb/config/arm/tm-linux.h4
-rw-r--r--gdb/gdbserver/low-linux.c13
4 files changed, 33 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 59a4666..dece647 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,10 @@
+2001-12-03 Keith Walker <keith.walker@arm.com>
+ * gdbserver/low-linux.c (arm_register_u_addr): added.
+ (initialize_arch): added for ARM target.
+ * config/arm/nm-linux.h (U_REGS_OFFSET) defined.
+ (REGISTER_U_ADDR) defined.
+ * config/arm/tm-linux.h (ARM_GNULINUX_TARGET) defined.
+
2001-12-04 Corinna Vinschen <vinschen@redhat.com>
* arm-tdep.c (arm_skip_prologue): Always skip prologue by scanning
diff --git a/gdb/config/arm/nm-linux.h b/gdb/config/arm/nm-linux.h
index e2a1795..2a0ebb3 100644
--- a/gdb/config/arm/nm-linux.h
+++ b/gdb/config/arm/nm-linux.h
@@ -23,6 +23,15 @@
#include "nm-linux.h"
+/* ptrace register ``addresses'' are absolute. */
+
+#define U_REGS_OFFSET 0
+
+#ifdef GDBSERVER
+#define REGISTER_U_ADDR(addr,blockend,regno) \
+ (addr) = arm_register_u_addr ((blockend),(regno))
+#endif /* GDBSERVER */
+
/* Return sizeof user struct to callers in less machine dependent routines */
extern int kernel_u_size (void);
#define KERNEL_U_SIZE arm_linux_kernel_u_size()
diff --git a/gdb/config/arm/tm-linux.h b/gdb/config/arm/tm-linux.h
index 4ef05bb..97520e7 100644
--- a/gdb/config/arm/tm-linux.h
+++ b/gdb/config/arm/tm-linux.h
@@ -21,6 +21,10 @@
#ifndef TM_ARMLINUX_H
#define TM_ARMLINUX_H
+#ifdef GDBSERVER
+#define ARM_GNULINUX_TARGET
+#endif
+
/* Include the common ARM target definitions. */
#include "arm/tm-arm.h"
diff --git a/gdb/gdbserver/low-linux.c b/gdb/gdbserver/low-linux.c
index 0c7fce5..0fd14af 100644
--- a/gdb/gdbserver/low-linux.c
+++ b/gdb/gdbserver/low-linux.c
@@ -541,6 +541,19 @@ initialize_arch (void)
{
return;
}
+
+#elif defined(ARM_GNULINUX_TARGET)
+int arm_register_u_addr(blockend, regnum)
+ int blockend;
+ int regnum;
+{
+ return blockend + REGISTER_BYTE(regnum);
+}
+
+static void
+initialize_arch ()
+{
+}
#endif
CORE_ADDR