aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2006-10-20 00:34:35 +0000
committerUlrich Weigand <uweigand@de.ibm.com>2006-10-20 00:34:35 +0000
commitb7149293aa320693b0bc762fb5e09a991fa8dc6a (patch)
tree1a9e17044f9edfcae42b1e4e4800dba4156f3b4f
parent8620418b9c1073361483e7b0883ca91e18d2e465 (diff)
downloadgdb-b7149293aa320693b0bc762fb5e09a991fa8dc6a.zip
gdb-b7149293aa320693b0bc762fb5e09a991fa8dc6a.tar.gz
gdb-b7149293aa320693b0bc762fb5e09a991fa8dc6a.tar.bz2
2005-10-19 Ulrich Weigand <uweigand@de.ibm.com>
* configure.srv [s390-*-linux*, s390x-*-linux*]: Set srv_linux_regsets and srv_linux_thread_db to yes. * linux-s390-low.c (s390_fill_gregset): New function. (target_regsets): Define data structure.
-rw-r--r--gdb/gdbserver/ChangeLog7
-rw-r--r--gdb/gdbserver/configure.srv4
-rw-r--r--gdb/gdbserver/linux-s390-low.c18
3 files changed, 28 insertions, 1 deletions
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
index 810527e..e623ae7 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,3 +1,10 @@
+2005-10-19 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * configure.srv [s390-*-linux*, s390x-*-linux*]: Set srv_linux_regsets
+ and srv_linux_thread_db to yes.
+ * linux-s390-low.c (s390_fill_gregset): New function.
+ (target_regsets): Define data structure.
+
2006-10-17 Daniel Jacobowitz <dan@codesourcery.com>
* acinclude.m4 (SRV_CHECK_TLS_GET_ADDR): New.
diff --git a/gdb/gdbserver/configure.srv b/gdb/gdbserver/configure.srv
index 40805e5..3287955 100644
--- a/gdb/gdbserver/configure.srv
+++ b/gdb/gdbserver/configure.srv
@@ -87,10 +87,14 @@ case "${target}" in
s390-*-linux*) srv_regobj=reg-s390.o
srv_tgtobj="linux-low.o linux-s390-low.o"
srv_linux_usrregs=yes
+ srv_linux_regsets=yes
+ srv_linux_thread_db=yes
;;
s390x-*-linux*) srv_regobj=reg-s390x.o
srv_tgtobj="linux-low.o linux-s390-low.o"
srv_linux_usrregs=yes
+ srv_linux_regsets=yes
+ srv_linux_thread_db=yes
;;
sh*-*-linux*) srv_regobj=reg-sh.o
srv_tgtobj="linux-low.o linux-sh-low.o"
diff --git a/gdb/gdbserver/linux-s390-low.c b/gdb/gdbserver/linux-s390-low.c
index 7ebb8e9..c2511a5 100644
--- a/gdb/gdbserver/linux-s390-low.c
+++ b/gdb/gdbserver/linux-s390-low.c
@@ -1,6 +1,6 @@
/* GNU/Linux S/390 specific low level interface, for the remote server
for GDB.
- Copyright (C) 2001, 2002, 2005
+ Copyright (C) 2001, 2002, 2005, 2006
Free Software Foundation, Inc.
This file is part of GDB.
@@ -75,6 +75,22 @@ s390_cannot_store_register (int regno)
return 0;
}
+/* Provide only a fill function for the general register set. ps_lgetregs
+ will use this for NPTL support. */
+
+static void s390_fill_gregset (void *buf)
+{
+ int i;
+
+ for (i = 0; i < 34; i++)
+ collect_register (i, (char *) buf + s390_regmap[i]);
+}
+
+struct regset_info target_regsets[] = {
+ { 0, 0, 0, GENERAL_REGS, s390_fill_gregset, NULL },
+ { 0, 0, -1, -1, NULL, NULL }
+};
+
static const unsigned char s390_breakpoint[] = { 0, 1 };
#define s390_breakpoint_len 2