gdb and binutils branch master updated. 08a6411c715c2d8bf31d5a5c8a477fa4651639aa

sergiodj@sourceware.org sergiodj@sourceware.org
Wed Dec 11 01:59:00 GMT 2013


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  08a6411c715c2d8bf31d5a5c8a477fa4651639aa (commit)
      from  e7f0d979dd5cc4f8b658df892e93db69d6d660b7 (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=08a6411c715c2d8bf31d5a5c8a477fa4651639aa

commit 08a6411c715c2d8bf31d5a5c8a477fa4651639aa
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Tue Dec 10 23:53:25 2013 -0200

    Sanitize access to gdbarch on the SDT probe API (and fix ARM bug)
    
    This patch sanitizes the access to gdbarch made by various functions of
    the SDT probe API.  Before this patch, gdbarch was being accessed via
    the probe's objfile; however, this proved to cause a bug on 32-bit ARM
    targets because during the parsing of the probe's arguments the code
    needed to access some pseudo-registers of the architecture, and this
    information is not fully correct on the objfile's gdbarch.
    
    Basically, the approach taken was to instead pass the current/selected
    frame to the parsing and evaluation functions, so that they can extract
    the gdbarch directly from the frame.  It solved the ARM bug reported
    above, and also contributed to make the API cleaner.
    
    Tested on x86_64 and 32-bit ARM.
    
    2013-12-11  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* break-catch-throw.c (fetch_probe_arguments): Pass selected frame
    	to get_probe_argument_count and evaluate_probe_argument.
    	* probe.c (get_probe_argument_count): Adjust declaration to accept
    	frame.  Pass frame to probe_ops's get_probe_argument_count.
    	(evaluate_probe_argument): Likewise, for evaluate_probe_argument.
    	(probe_safe_evaluate_at_pc): Pass frame to
    	get_probe_argument_count and evaluate_probe_argument.
    	* probe.h (struct probe_ops) <get_probe_argument_count,
    	evaluate_probe_argument>: Adjust declarations to accept frame.
    	(get_probe_argument_count, evaluate_probe_argument): Likewise.
    	* solib-svr4.c (solib_event_probe_action): Get current frame.
    	Pass it to get_probe_argument_count.
    	(svr4_handle_solib_event): Get current frame.  Pass it to
    	get_probe_argument_count and evaluate_probe_argument.
    	* stap-probe.c (stap_parse_probe_arguments): Adjust declaration to
    	accept gdbarch.  Do not obtain it from the probe's objfile.
    	(stap_get_probe_argument_count): Adjust declaration to accept
    	frame.  Obtain gdbarch from the frame.  Call generic
    	can_evaluate_probe_arguments.  Pass gdbarch to
    	stap_parse_probe_arguments.
    	(stap_get_arg): Adjust declaration to accept gdbarch.  Pass it to
    	stap_parse_probe_arguments.
    	(stap_evaluate_probe_argument): Adjust declaration to accept
    	frame.  Obtain gdbarch from the frame.  Pass gdbarch to
    	stap_get_arg.
    	(stap_compile_to_ax): Pass agent_expr's gdbarch to stap_get_arg.
    	(compute_probe_arg): Obtain gdbarch from frame.  Pass frame to
    	get_probe_argument_count and evaluate_probe_argument.

-----------------------------------------------------------------------

Summary of changes:
 gdb/ChangeLog           |   31 +++++++++++++++++++++++++++++++
 gdb/break-catch-throw.c |    6 +++---
 gdb/probe.c             |   13 +++++++------
 gdb/probe.h             |   12 ++++++++----
 gdb/solib-svr4.c        |    8 +++++---
 gdb/stap-probe.c        |   30 +++++++++++++++++-------------
 6 files changed, 71 insertions(+), 29 deletions(-)


hooks/post-receive
-- 
gdb and binutils



More information about the Gdb-cvs mailing list