aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2010-06-14 13:53:04 +0000
committerUlrich Weigand <uweigand@de.ibm.com>2010-06-14 13:53:04 +0000
commit92b729071eddfad07aa5df4f05fc1d3b7fca6923 (patch)
tree88649e7a4a7608254f8ec5c7d5259b97139cbb44 /gdb
parent21a176fb79de04c0460c1be5a7d7d49a7ca1cfc4 (diff)
downloadbinutils-92b729071eddfad07aa5df4f05fc1d3b7fca6923.zip
binutils-92b729071eddfad07aa5df4f05fc1d3b7fca6923.tar.gz
binutils-92b729071eddfad07aa5df4f05fc1d3b7fca6923.tar.bz2
* linux-ppc-low.c (ppc_arch_setup): Use private regcache to test MSR.
* linux-s390-low.c (ppc_arch_setup): Use private regcache to test PSW.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/gdbserver/ChangeLog5
-rw-r--r--gdb/gdbserver/linux-ppc-low.c4
-rw-r--r--gdb/gdbserver/linux-s390-low.c5
3 files changed, 12 insertions, 2 deletions
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
index 665556c..a43e0ea 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,3 +1,8 @@
+2010-06-14 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * linux-ppc-low.c (ppc_arch_setup): Use private regcache to test MSR.
+ * linux-s390-low.c (ppc_arch_setup): Use private regcache to test PSW.
+
2010-06-01 Pedro Alves <pedro@codesourcery.com>
Stan Shebs <stan@codesourcery.com>
diff --git a/gdb/gdbserver/linux-ppc-low.c b/gdb/gdbserver/linux-ppc-low.c
index 000b20f..48cf7c0 100644
--- a/gdb/gdbserver/linux-ppc-low.c
+++ b/gdb/gdbserver/linux-ppc-low.c
@@ -345,8 +345,10 @@ ppc_arch_setup (void)
/* Only if the high bit of the MSR is set, we actually have
a 64-bit inferior. */
- regcache = get_thread_regcache (current_inferior, 1);
+ regcache = new_register_cache ();
+ fetch_inferior_registers (regcache, find_regno ("msr"));
collect_register_by_name (regcache, "msr", &msr);
+ free_register_cache (regcache);
if (msr < 0)
{
ppc_get_hwcap (&ppc_hwcap);
diff --git a/gdb/gdbserver/linux-s390-low.c b/gdb/gdbserver/linux-s390-low.c
index eb865dc..943d8c5 100644
--- a/gdb/gdbserver/linux-s390-low.c
+++ b/gdb/gdbserver/linux-s390-low.c
@@ -270,8 +270,11 @@ s390_arch_setup (void)
#ifdef __s390x__
{
unsigned int pswm;
- struct regcache *regcache = get_thread_regcache (current_inferior, 1);
+ struct regcache *regcache = new_register_cache ();
+ fetch_inferior_registers (regcache, find_regno ("pswm"));
collect_register_by_name (regcache, "pswm", &pswm);
+ free_register_cache (regcache);
+
if (pswm & 1)
init_registers_s390x_linux64 ();