From: Eli Zaretskii <eliz@gnu.org>
To: Daniel Jacobowitz <drow@false.org>
Cc: gdb-patches@sourceware.org
Subject: Re: RFC: Allow a wrapper when starting programs
Date: Sat, 09 Feb 2008 08:48:00 -0000 [thread overview]
Message-ID: <u63wysei4.fsf@gnu.org> (raw)
In-Reply-To: <20080208185727.GA30185@caradoc.them.org> (message from Daniel Jacobowitz on Fri, 8 Feb 2008 13:57:27 -0500)
> Date: Fri, 8 Feb 2008 13:57:27 -0500
> From: Daniel Jacobowitz <drow@false.org>
> Cc: Eli Zaretskii <eliz@gnu.org>
>
> This patch allows GDB and gdbserver to use wrapper programs when they
> launch an inferior process.
Thanks!
A few comments on your patch:
> --- NEWS 7 Feb 2008 19:23:10 -0000 1.256
> +++ NEWS 8 Feb 2008 18:46:39 -0000
This part is okay, except:
> +* New features in the GDB remote stub, gdbserver
> +
> + - AltiVec and SPE registers on PowerPC targets are now accessible.
> +
> + - Thread debugging is now supported on GNU/Linux targets even when
> + the libthread_db library is missing.
> +
> + - The new file transfer commands (remote put, remote get, and remote
> + delete) are supported with gdbserver.
You are already describing gdbserver changes, so saying that again at
the end of the last sentence is redundant, I think.
> --- fork-child.c 29 Jan 2008 21:11:24 -0000 1.38
> +++ fork-child.c 8 Feb 2008 18:46:39 -0000
Do all supported platform use fork-child to run the inferior? If not,
those that don't will not have this feature, and this fact should be
reflected in the manual.
> + if (exec_wrapper)
> + pending_execs++;
You seem to be assuming that the wrapper is a simple command that
exec's only once. But in fact the wrapper could be an arbitrarily
complex script that exec's several times, right? If a single-exec
limitation is something we cannot easily overcome, we must document it
clearly in the manual.
> +void
> +_initialize_fork_child (void)
> +{
> + add_setshow_filename_cmd ("exec-wrapper", class_run, &exec_wrapper, _("\
> +Set a wrapper for running programs."), _("\
> +Show the wrapper for running programs."), NULL,
That is rather cryptic, IMO. How about adding a few more words about
what is a wrapper and how it is used?
> + The wrapper will run until its first
> +debug trap before @value{GDBN} takes control.
> +
> +On Unix systems, a debug trap (@code{SIGTRAP}) is generated at the
> +@code{execve} system call. This allows any program which uses
> +@code{execve} to start another program to be used as a wrapper.
This is not detailed enough to be useful to anyone but a GDB hacker
who also happened to read the respective portions of the code in
fork-child.c. In any case, it left me wondering what is this all
about, and why I, as a GDB user, should care about SIGTRAPs.
IOW, if this is important for the user to know, we should explain the
issue in terms understandable by a GDB user.
> + The wrapper
> +will run until its first debug trap before @value{GDBN} gains control.
> +
> +On Unix systems, a debug trap (@code{SIGTRAP}) is generated at the
> +@code{execve} system call. This allows any program which uses
> +@code{execve} to start another program to be used as a wrapper. For
> +example, you can use @code{env} to pass an environment variable to the
> +debugged program, without setting the variable in @code{gdbserver}'s
> +environment:
Same here.
next prev parent reply other threads:[~2008-02-09 8:48 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-08 18:57 Daniel Jacobowitz
2008-02-09 8:48 ` Eli Zaretskii [this message]
2008-02-09 15:48 ` Daniel Jacobowitz
2008-02-09 16:41 ` Eli Zaretskii
2008-02-09 16:53 ` Daniel Jacobowitz
2008-02-09 19:20 ` Doug Evans
2008-02-10 1:15 ` Daniel Jacobowitz
2008-02-11 16:14 ` Daniel Jacobowitz
2008-02-11 19:45 ` Daniel Jacobowitz
2008-02-11 20:30 ` Eli Zaretskii
2008-03-10 23:14 ` Daniel Jacobowitz
2008-02-12 19:46 ` Joel Brobecker
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=u63wysei4.fsf@gnu.org \
--to=eliz@gnu.org \
--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