[PATCH] Use multi-arch'd START_INFERIOR_TRAPS_EXPECTED on Alpha target

Daniel Jacobowitz drow@mvista.com
Thu Apr 25 13:03:00 GMT 2002


On Wed, Apr 24, 2002 at 08:06:31PM -0400, Andrew Cagney wrote:
> >The following puts STARTUP_WITH_SHELL
> 
> Hmm, HP merge.  An intermediate version looked like:
> 
>   /* If STARTUP_WITH_SHELL is set, GDB's "run"
> !  * will attempts to start up the debugee under a shell.
> !  * This is in order for argument-expansion to occur. E.g.,
> !  * (gdb) run *
> !  * The "*" gets expanded by the shell into a list of files.
> !  * While this is a nice feature, it turns out to interact badly
> !  * with some of the catch-fork/catch-exec features we have added.
> !  * In particular, if the shell does any fork/exec's before
> !  * the exec of the target program, that can confuse GDB.
> !  * To disable this feature, set STARTUP_WITH_SHELL to 0.
> !  * To enable this feature, set STARTUP_WITH_SHELL to 1.
> !  * The catch-exec traps expected during start-up will
> !  * be 1 if target is not started up with a shell, 2 if it is.
> !  * - RT
> !  */
>   #define STARTUP_WITH_SHELL 1
> - #define START_INFERIOR_TRAPS_EXPECTED (STARTUP_WITH_SHELL + 1)
> 
> Does STARTUP_WITH_SHELL need to be multi-arched?
> 
> I'm wondering if it would be better to make it a variable (``set 
> startup-with-shell <boolean>'').  Looking at its uses it appears that 
> fork-child.c:startup_inferior() would still work (if it did previously).

Silly question.... are there any (supported?  working?) uses for this
besides globbing and backtick interpolation?  I think there aren't, and
I think it would simplify GDB to just have a function which called
glob() and invoked subshells for ``.  It's a little tricky, but not
very.  We'd lose access to things like shell-specific globbing tricks,
but I think that's a worthwhile price to pay.

-- 
Daniel Jacobowitz                           Carnegie Mellon University
MontaVista Software                         Debian GNU/Linux Developer



More information about the Gdb-patches mailing list