This is the mail archive of the
gdb-cvs@sourceware.org
mailing list for the GDB project.
gdb and binutils branch master updated. e5a9158d093d53f2bb1057359ac381dcdf6d4305
- From: krebbel at sourceware dot org
- To: gdb-cvs at sourceware dot org
- Date: 12 Dec 2014 13:15:28 -0000
- Subject: gdb and binutils branch master updated. e5a9158d093d53f2bb1057359ac381dcdf6d4305
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".
The branch, master has been updated
via e5a9158d093d53f2bb1057359ac381dcdf6d4305 (commit)
via feea5f36a9dd65a0ff279c71744423c419b77ada (commit)
via 098dbe61246fd65ea5e3825d77afb31d52c43153 (commit)
via 28eef6727d3cd4461091a752c19c418d1bf3bcb7 (commit)
from 6cabe1ea460c54c17ac877b2541eccf91d6b4b9c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=e5a9158d093d53f2bb1057359ac381dcdf6d4305
commit e5a9158d093d53f2bb1057359ac381dcdf6d4305
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date: Fri Dec 12 14:14:21 2014 +0100
S390: Fix gdbserver support for TDB
This makes gdbserver actually provide values for the TDB registers
when the inferior was stopped in a transaction. The change in
linux-low.c is needed to suppress the warning for an unavailable TDB.
The test case 's390-tdbregs.exp' passes with this patch and fails
without.
gdb/gdbserver/ChangeLog:
* linux-low.c (regsets_fetch_inferior_registers): Suppress the
warning upon ENODATA from ptrace.
* linux-s390-low.c (s390_store_tdb): New.
(s390_regsets): Add regset for NT_S390_TDB.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=feea5f36a9dd65a0ff279c71744423c419b77ada
commit feea5f36a9dd65a0ff279c71744423c419b77ada
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date: Fri Dec 12 14:14:21 2014 +0100
gdbserver: Support read-only regsets in linux-low.c
For GNU/Linux targets using the regsets interface, this change
supports regsets that can be read but not written. The S390 "last
break" regset is an example. So far it had been defined with
regset->set_request == PTRACE_GETREGSET, such that the respective
ptrace call does not cause any harm. Now we just skip the whole
read/modify/write sequence for regsets that do not define a
fill_function.
gdb/gdbserver/ChangeLog:
* linux-low.c (regsets_store_inferior_registers): Skip regsets
without a fill_function.
* linux-s390-low.c (s390_fill_last_break): Remove.
(s390_regsets): Set fill_function to NULL for NT_S390_LAST_BREAK.
(s390_arch_setup): Use regset's size instead of fill_function for
loop end condition.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=098dbe61246fd65ea5e3825d77afb31d52c43153
commit 098dbe61246fd65ea5e3825d77afb31d52c43153
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date: Fri Dec 12 14:14:20 2014 +0100
gdbserver: Prevent stale/random values in register cache
When fetch_inferior_registers does not update all registers, this
patch assures that no stale register values remain in the register
cache. On Linux platforms using the regsets interface, when one of
the ptrace calls used for fetching the register values returns an
error, this patch also avoids copying the random data returned from
ptrace into the register cache. All unfetched registers are marked
"unavailable" instead.
gdb/gdbserver/ChangeLog:
* linux-low.c (regsets_fetch_inferior_registers): Do not invoke
the regset's store function when ptrace returned an error.
* regcache.c (get_thread_regcache): Invalidate register cache
before fetching inferior's registers.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=28eef6727d3cd4461091a752c19c418d1bf3bcb7
commit 28eef6727d3cd4461091a752c19c418d1bf3bcb7
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date: Fri Dec 12 14:14:20 2014 +0100
gdbserver: Rephrase loops in regsets_fetch/store_inferior_registers
Replace the while-loops in linux-low.c that iterate over regsets by
for-loops. This makes it clearer what is iterated over. Also, since
"continue" now moves on to the next iteration without having to
increment the regset pointer first, the code is slightly reduced.
In case of EIO the old code did not increment the regset pointer, but
iterated over the same (now disabled) regset again. This extra
iteration is now avoided.
gdb/gdbserver/ChangeLog:
* linux-low.c (regsets_fetch_inferior_registers): Rephrase
while-loop as for-loop.
(regsets_store_inferior_registers): Likewise.
-----------------------------------------------------------------------
Summary of changes:
gdb/gdbserver/ChangeLog | 29 +++++++++++++++++++++++++++
gdb/gdbserver/linux-low.c | 42 +++++++++++++++++----------------------
gdb/gdbserver/linux-s390-low.c | 31 ++++++++++++++++++++---------
gdb/gdbserver/regcache.c | 3 ++
4 files changed, 71 insertions(+), 34 deletions(-)
hooks/post-receive
--
gdb and binutils