98882a2651
Occasionaly we hear about people having problems with GDB not being able to start programs (with "run"/"start"). GDB spawns a shell to start the program, and most often, it'll be the case that the problem is actually with the user's shell setup. GDB has code to disable the use of the shell to start programs. That's the STARTUP_WITH_SHELL macro that native targets could set to 0 in their nm.h file (though no target actually uses it nowadays). This patch makes that setting a run-time knob instead. This will be useful to quickly diagnose such shell issues, and might also come in handy at other times (such as when debugging the shell itself, if you don't have a different shell handy). gdb/ 2013-10-24 Pedro Alves <palves@redhat.com> * NEWS (New options): Mention set/show startup-with-shell. * config/alpha/nm-osf3.h (START_INFERIOR_TRAPS_EXPECTED): Set to 2 instead of 3. * fork-child.c (fork_inferior, startup_inferior): Handle 'set startup-with-shell'. (show_startup_with_shell): New function. (_initialize_fork_child): Register the set/show startup-with-shell commands. * inf-ptrace.c (inf_ptrace_create_inferior): Remove comment. * inf-ttrace.c (inf_ttrace_him): Remove comment. * procfs.c (procfs_init_inferior): Remove comment. * infcmd.c (startup_with_shell): New global. * inferior.h (startup_with_shell): Declare global. (STARTUP_WITH_SHELL): Delete. (START_INFERIOR_TRAPS_EXPECTED): Set to 1 by default instead of 2. gdb/doc/ 2013-10-24 Pedro Alves <palves@redhat.com> * gdb.texinfo (Starting): Document set/show startup-with-shell.
35 lines
1.6 KiB
C
35 lines
1.6 KiB
C
/* Native definitions for alpha running OSF/1-3.x and higher, using procfs.
|
|
Copyright (C) 1995-2013 Free Software Foundation, Inc.
|
|
|
|
This file is part of GDB.
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
|
|
|
/* Number of traps that happen between exec'ing the shell to run an
|
|
inferior, and when we finally get to the inferior code, not
|
|
counting the exec for the shell. This is 1 on most
|
|
implementations. */
|
|
#define START_INFERIOR_TRAPS_EXPECTED 2
|
|
|
|
/* Don't trace faults under OSF/1, rely on the posting of the appropriate
|
|
signal if fault tracing is disabled.
|
|
Tracing T_IFAULT under Alpha OSF/1 causes a `floating point enable'
|
|
fault from which we cannot continue (except by disabling the
|
|
tracing).
|
|
And as OSF/1 doesn't provide the standard fault definitions, the
|
|
mapping of faults to appropriate signals in procfs_wait is difficult. */
|
|
#define PROCFS_DONT_TRACE_FAULTS
|
|
|
|
/* Work around some peculiarities in the OSF/1 procfs implementation. */
|
|
#define PROCFS_NEED_CLEAR_CURSIG_FOR_KILL
|