From: Pedro Alves <pedro@codesourcery.com>
To: gdb-patches@sourceware.org
Cc: Daniel Jacobowitz <drow@false.org>
Subject: Re: [gdbserver] Fix attaching notices
Date: Tue, 08 Jul 2008 01:59:00 -0000 [thread overview]
Message-ID: <200807080258.34187.pedro@codesourcery.com> (raw)
In-Reply-To: <200807080051.46088.pedro@codesourcery.com>
A Tuesday 08 July 2008 00:51:45, Pedro Alves wrote:
> You're right, I just tried with 6.8 too, and don't see the SIGTRAP
> notice... I'll try to pinpoint what changed this, and see if it
> was a spurious change.
>
Unsurprisingly,
> 2008-05-01 Daniel Jacobowitz <dan@codesourcery.com>
> Pedro Alves <pedro@codesourcery.com>
>
> Based on work by Jan Kratochvil <jan.kratochvil@redhat.com> and Jeff
> Johnston <jjohnstn@redhat.com>.
>
> * NEWS: Mention attach to stopped process fix.
> * infcmd.c (detach_command, disconnect_command): Discard the thread
> list.
> * infrun.c (handle_inferior_event): Do not ignore non-SIGSTOP while
> attaching. Use signal_stop_state.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> (signal_stop_state): Check stop_soon.
> * linux-nat.c (kill_lwp): Declare earlier.
> (pid_is_stopped, linux_nat_post_attach_wait): New.
> (lin_lwp_attach_lwp): Use linux_nat_post_attach_wait. Update
> comments.
> (linux_nat_attach): Use linux_nat_post_attach_wait.
> (detach_callback, linux_nat_detach): Improve handling for signalled
> processes.
> (linux_nat_pid_to_str): Always print out the LWP ID if it differs
> from the process ID.
> * Makefile.in (infcmd.o): Update.
Before,
/* This originates from attach_command(). We need to overwrite
the stop_signal here, because some kernels don't ignore a
SIGSTOP in a subsequent ptrace(PTRACE_SONT,SOGSTOP) call.
See more comments in inferior.h. */
if (stop_soon == STOP_QUIETLY_NO_SIGSTOP)
{
stop_stepping (ecs);
if (stop_signal == TARGET_SIGNAL_STOP)
stop_signal = TARGET_SIGNAL_0;
return;
}
After,
/* This originates from attach_command(). We need to overwrite
the stop_signal here, because some kernels don't ignore a
SIGSTOP in a subsequent ptrace(PTRACE_CONT,SIGSTOP) call.
See more comments in inferior.h. On the other hand, if we
get a non-SIGSTOP, report it to the user - assume the backend
will handle the SIGSTOP if it should show up later. */
if (stop_soon == STOP_QUIETLY_NO_SIGSTOP
&& stop_signal == TARGET_SIGNAL_STOP)
{
stop_stepping (ecs);
stop_signal = TARGET_SIGNAL_0;
return;
}
Since gdbserver is reporting a TARGET_SIGNAL_TRAP, this now doesn't
match, and we go on handling the event until we decide it was a
random signal.
So, we either
1) go with my patch (on which the win32 part was a hack, but I
can live with it), and live with the bogus notice
against older gdbservers, or
2) change the test to:
if (stop_soon == STOP_QUIETLY_NO_SIGSTOP
&& stop_signal == TARGET_SIGNAL_STOP
&& stop_signal == TARGET_SIGNAL_TRAP)
{
stop_stepping (ecs);
stop_signal = TARGET_SIGNAL_0;
return;
}
Or even add a `&& stop_signal == TARGET_SIGNAL_0', and merge
this stop_soon with STOP_QUIETLY_REMOTE.
3) other?
--
Pedro Alves
next prev parent reply other threads:[~2008-07-08 1:59 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-27 23:26 Pedro Alves
2008-07-07 17:55 ` Daniel Jacobowitz
2008-07-07 23:52 ` Pedro Alves
2008-07-08 1:59 ` Pedro Alves [this message]
2008-07-11 14:13 ` Daniel Jacobowitz
2008-07-11 17:12 ` Pedro Alves
2008-07-11 17:37 ` Daniel Jacobowitz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200807080258.34187.pedro@codesourcery.com \
--to=pedro@codesourcery.com \
--cc=drow@false.org \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox