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 gdb-7.8-branch updated. gdb-7.8-release-58-g528c450


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, gdb-7.8-branch has been updated
       via  528c4509aeb4f92174344903dd25ebee222ce0fa (commit)
       via  7ec5670becb3f978f4d2f4df252ad0cbf805e37a (commit)
      from  f5905305bcb38a17863982f336da6a91990165c7 (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=528c4509aeb4f92174344903dd25ebee222ce0fa

commit 528c4509aeb4f92174344903dd25ebee222ce0fa
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Sep 11 13:04:15 2014 +0100

    gdb/17347 - Regression: GDB stopped on run with attached process
    
    Doing:
    
      gdb --pid=PID -ex run
    
    Results in GDB getting a SIGTTIN, and thus ending stopped.  That's
    usually indicative of a missing target_terminal_ours call.
    
    E.g., from the PR:
    
     $ sleep 1h & p=$!; sleep 0.1; gdb -batch sleep $p -ex run
     [1] 28263
     [1]   Killed                  sleep 1h
    
     [2]+  Stopped                 gdb -batch sleep $p -ex run
    
    The workaround is doing:
    
     gdb -ex "attach $PID" -ex "run"
    
    instead of
    
     gdb [-p] $PID -ex "run"
    
    With the former, gdb waits for the attach command to complete before
    moving on to the "run" command, because the interpreter is in sync
    mode at this point, within execute_command.  But for the latter,
    attach_command is called directly from captured_main, and thus misses
    that waiting.  IOW, "run" is running before the attach continuation
    has run, before the program stops and attach completes.  The broken
    terminal settings are just one symptom of that.  Any command that
    queries or requires input results in the same.
    
    The fix is to wait in catch_command_errors (which is specific to
    main.c nowadays), just like we wait in execute_command.
    
    gdb/ChangeLog:
    2014-09-11  Pedro Alves  <palves@redhat.com>
    
    	PR gdb/17347
    	* main.c: Include "infrun.h".
    	(catch_command_errors, catch_command_errors_const): Wait for the
    	foreground command to complete.
    	* top.c (maybe_wait_sync_command_done): New function, factored out
    	from ...
    	(maybe_wait_sync_command_done): ... here.
    	* top.h (maybe_wait_sync_command_done): New declaration.
    
    gdb/testsuite/ChangeLog:
    2014-09-11  Pedro Alves  <palves@redhat.com>
    
    	PR gdb/17347
    	* lib/gdb.exp (gdb_spawn_with_cmdline_opts): New procedure.
    	* gdb.base/attach.exp (test_command_line_attach_run): New
    	procedure.
    	(top level): Call it.

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=7ec5670becb3f978f4d2f4df252ad0cbf805e37a

commit 7ec5670becb3f978f4d2f4df252ad0cbf805e37a
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Sep 11 13:14:47 2014 +0100

    testsuite: refactor spawn and wait for attach
    
    Several places in the testsuite have a copy of a snippet of code that
    spawns a test program, waits a bit, and then does some PID munging for
    Cygwin.  This is in order to have GDB attach to the spawned program.
    
    This refactors all that to a common procedure.
    
    (multi-attach.exp wants to spawn multiple processes, so this makes the
    new procedure's interface work with lists.)
    
    Tested on x86_64 Fedora 20.
    
    gdb/testsuite/ChangeLog:
    2014-09-11  Pedro Alves  <palves@redhat.com>
    
    	* lib/gdb.exp (spawn_wait_for_attach): New procedure.
    	* gdb.base/attach.exp (do_attach_tests, do_call_attach_tests)
    	(do_command_attach_tests): Use spawn_wait_for_attach.
    	* gdb.base/solib-overlap.exp: Likewise.
    	* gdb.multi/multi-attach.exp: Likewise.
    	* gdb.python/py-prompt.exp: Likewise.
    	* gdb.python/py-sync-interp.exp: Likewise.
    	* gdb.server/ext-attach.exp: Likewise.

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

Summary of changes:
 gdb/ChangeLog                               |   11 ++++
 gdb/main.c                                  |    9 +++
 gdb/testsuite/ChangeLog                     |   19 ++++++
 gdb/testsuite/gdb.base/attach.exp           |   86 +++++++++++++++------------
 gdb/testsuite/gdb.base/solib-overlap.exp    |   11 +---
 gdb/testsuite/gdb.multi/multi-attach.exp    |   13 +---
 gdb/testsuite/gdb.python/py-prompt.exp      |   10 +---
 gdb/testsuite/gdb.python/py-sync-interp.exp |   10 +---
 gdb/testsuite/gdb.server/ext-attach.exp     |   10 +---
 gdb/testsuite/lib/gdb.exp                   |   41 +++++++++++++
 gdb/top.c                                   |   28 ++++++---
 gdb/top.h                                   |    8 +++
 12 files changed, 163 insertions(+), 93 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]