This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

gdb and binutils branch master updated. 8213266aeadc6cfae8313f1335f33a43e40f0a8c


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  8213266aeadc6cfae8313f1335f33a43e40f0a8c (commit)
      from  f44a1f8e513b37bcc52ba9ea0c172c3e94852756 (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=8213266aeadc6cfae8313f1335f33a43e40f0a8c

commit 8213266aeadc6cfae8313f1335f33a43e40f0a8c
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Jan 14 16:12:19 2014 +0000

    Fix "is a record target open" checks.
    
    RECORD_IS_USED and record_full_open look at current_target.to_stratum
    to determine whether a record target is in use.  This is wrong because
    arch_stratum is greater than record_stratum, so if an arch_stratum
    target is pushed, RECORD_IS_USED and record_full_open will miss it.
    
    To fix this, we can use the existing find_record_target instead, which
    looks up for a record stratum target across the target stack.  Since
    that means exporting find_record_target in record.h, RECORD_IS_USED
    ends up redundant, so the patch eliminates it.
    
    That exercise then reveals other issues:
    
    - adjust_pc_after_break is gating record_full_... calls based on
    RECORD_IS_USED.  But, record_full_ calls shouldn't be made when
    recording with the record-btrace target.  So this adds a new
    record_full_is_used predicate to be used in that spot.
    
    - record_full_open says "Process record target already running", even
    if the recording target is record-btrace ("process record" is the
    original complete name of the record-full target).  record_btrace_open
    only says "The process is already being recorded." and does not
    suggest "record stop", like record-full does.  The patch factors out
    and merges that error to a new record_preopen function that all record
    targets call in their open routine.
    
    Tested on x86_64 Fedora 17.
    
    gdb/
    2014-01-14  Pedro Alves  <palves@redhat.com>
    	    Tom Tromey  <tromey@redhat.com>
    
    	* infrun.c (use_displaced_stepping): Use find_record_target
    	instead of RECORD_IS_USED.
    	(adjust_pc_after_break): Use record_full_is_used instead of
    	RECORD_IS_USED.
    	* record-btrace.c (record_btrace_open): Call record_preopen
    	instead of checking RECORD_IS_USED.
    	* record-full.c (record_full_shortname)
    	(record_full_core_shortname): New globals.
    	(record_full_is_used): New function.
    	(find_full_open): Call record_preopen instead of checking
    	RECORD_IS_USED.
    	(init_record_full_ops): Set the target's shortname to
    	record_full_shortname.
    	(init_record_full_core_ops): Set the target's shortname to
    	record_full_core_shortname.
    	* record-full.h (record_full_is_used): Declare.
    	* record.c (find_record_target): Make extern.
    	(record_preopen): New function.
    	* record.h (RECORD_IS_USED): Delete macro.
    	(find_record_target, record_preopen): Declare functions.

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

Summary of changes:
 gdb/ChangeLog       |   24 ++++++++++++++++++++++++
 gdb/infrun.c        |    4 ++--
 gdb/record-btrace.c |    3 +--
 gdb/record-full.c   |   18 ++++++++++++++----
 gdb/record-full.h   |    4 ++++
 gdb/record.c        |   15 +++++++++++++--
 gdb/record.h        |   10 ++++++++--
 7 files changed, 66 insertions(+), 12 deletions(-)


hooks/post-receive
-- 
gdb and binutils


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]