Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Randolph Chung <randolph@tausq.org>
To: Daniel Jacobowitz <drow@false.org>
Cc: msnyder@redhat.com,  gdb@sources.redhat.com
Subject: Re: "run", and executable file/symtab association?
Date: Sat, 18 Feb 2006 11:10:00 -0000	[thread overview]
Message-ID: <43F6EEB4.4040002@tausq.org> (raw)
In-Reply-To: <20060215030909.GB8700@nevyn.them.org>

> If kill_inferior calls pop_target it'd better be expecting to close a
> native target, not the exec target further down the stack.  This looks
> like a bug in the checkpoint code somewhere.  Ugh, the bits in
> kill_inferior are a little scary.  First thing to do: figure out what's
> on the target stack (follow current_target.beneath), and why it's got
> execution if it's popping exec_close.

The target stack looks like:

(top-gdb) print current_target->to_shortname
$2 = 0x334298 "child"
(top-gdb) print current_target->beneath->to_shortname
$3 = 0x334298 "child"
(top-gdb) print current_target->beneath->beneath->to_shortname
$4 = 0x2d7d6c "exec"
(top-gdb) print current_target->beneath->beneath->beneath->to_shortname
$5 = 0x312614 "None"

And to_close is:
(top-gdb) print current_target->to_close
$6 = (void (*)(int)) @0x38465a: 0x47954 <exec_close>

kill_inferior() says:

   /* First cut -- let's crudely do everything inline.  */
   if (forks_exist_p ())
     {
       linux_fork_killall ();
       pop_target ();
       generic_mourn_inferior ();
     }
   else
     {
...
     }

I don't pretend to understand this code and why if there are forks, we 
should be popping the target to kill everything.

Michael Snyder added/changed this when he checked in the checkpoint 
code, perhaps he can comment?

randolph


  reply	other threads:[~2006-02-18  9:54 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-02-15  1:57 Randolph Chung
2006-02-15  3:09 ` Daniel Jacobowitz
2006-02-18 11:10   ` Randolph Chung [this message]
2006-02-18 16:23     ` Daniel Jacobowitz
2006-02-18 17:42       ` Randolph Chung
2006-02-18 18:27         ` Daniel Jacobowitz
2006-02-20 19:12       ` Michael Snyder
2006-02-21  6:52         ` Randolph Chung

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=43F6EEB4.4040002@tausq.org \
    --to=randolph@tausq.org \
    --cc=drow@false.org \
    --cc=gdb@sources.redhat.com \
    --cc=msnyder@redhat.com \
    /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