diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2010-06-14 13:53:04 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@de.ibm.com> | 2010-06-14 13:53:04 +0000 |
commit | 92b729071eddfad07aa5df4f05fc1d3b7fca6923 (patch) | |
tree | 88649e7a4a7608254f8ec5c7d5259b97139cbb44 | |
parent | 21a176fb79de04c0460c1be5a7d7d49a7ca1cfc4 (diff) | |
download | gdb-92b729071eddfad07aa5df4f05fc1d3b7fca6923.zip gdb-92b729071eddfad07aa5df4f05fc1d3b7fca6923.tar.gz gdb-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.
-rw-r--r-- | gdb/gdbserver/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/gdbserver/linux-ppc-low.c | 4 | ||||
-rw-r--r-- | gdb/gdbserver/linux-s390-low.c | 5 |
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 (); |