summaryrefslogtreecommitdiff
path: root/gdb/gdbserver/linux-ppc-low.c
diff options
context:
space:
mode:
authorDaniel Jacobowitz <dan@debian.org>2005-07-13 15:21:02 +0000
committerDaniel Jacobowitz <dan@debian.org>2005-07-13 15:21:02 +0000
commite419b14d345f5fae8b72e6baaf9970b9a0569d19 (patch)
tree4b1db54f9c268d07021487516224f3d2db5b0218 /gdb/gdbserver/linux-ppc-low.c
parent9582bfeef4fa973e11c2e8375d5f5b2879add19b (diff)
downloadgdb-e419b14d345f5fae8b72e6baaf9970b9a0569d19.tar.gz
* configure.ac: Define HAVE_LINUX_REGSETS even if PTRACE_GETREGS
is not available. Define HAVE_PTRACE_GETREGS if it is. * config.in, configure: Regenerated. * configure.srv: Set srv_linux_regsets for PowerPC and PowerPC64. * linux-i386-low.c, linux-m68k-low.c: Update to use HAVE_PTRACE_GETREGS. * linux-low.c (regsets_fetch_inferior_registers) (regsets_store_inferior_registers): Only return 0 if we processed GENERAL_REGS. * linux-ppc-low.c (ppc_fill_gregset, target_regsets): New. * linux-ppc64-low.c (ppc_fill_gregset, target_regsets): New.
Diffstat (limited to 'gdb/gdbserver/linux-ppc-low.c')
-rw-r--r--gdb/gdbserver/linux-ppc-low.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/gdb/gdbserver/linux-ppc-low.c b/gdb/gdbserver/linux-ppc-low.c
index cd573f1998d..0df7c8c192e 100644
--- a/gdb/gdbserver/linux-ppc-low.c
+++ b/gdb/gdbserver/linux-ppc-low.c
@@ -101,6 +101,25 @@ ppc_breakpoint_at (CORE_ADDR where)
return 0;
}
+/* Provide only a fill function for the general register set. ps_lgetregs
+ will use this for NPTL support. */
+
+static void ppc_fill_gregset (void *buf)
+{
+ int i;
+
+ for (i = 0; i < 32; i++)
+ collect_register (i, (char *) buf + ppc_regmap[i]);
+
+ for (i = 64; i < 70; i++)
+ collect_register (i, (char *) buf + ppc_regmap[i]);
+}
+
+struct regset_info target_regsets[] = {
+ { 0, 0, 0, GENERAL_REGS, ppc_fill_gregset, NULL },
+ { 0, 0, -1, -1, NULL, NULL }
+};
+
struct linux_target_ops the_low_target = {
ppc_num_regs,
ppc_regmap,