diff options
author | Tom Tromey <tromey@adacore.com> | 2019-10-01 06:52:44 -0600 |
---|---|---|
committer | Tom Tromey <tromey@adacore.com> | 2019-10-02 13:43:41 -0600 |
commit | 80fd2826411c1033ec403658c5f3187bf9c1740a (patch) | |
tree | 7f5b7411ebaee9dbd719e0f6e0f2c0667c8f1dd6 | |
parent | 700545387df82388b054947dc74cc0bb5cbd2a60 (diff) | |
download | gdb-80fd2826411c1033ec403658c5f3187bf9c1740a.zip gdb-80fd2826411c1033ec403658c5f3187bf9c1740a.tar.gz gdb-80fd2826411c1033ec403658c5f3187bf9c1740a.tar.bz2 |
Fix type of startup_with_shell in gdbserver
startup_with_shell was changed to be of "bool" type, but I noticed
that the definition in gdbserver disagreed. This disagreement caused
some regressions on a big-endian machine.
This patch removes the redundant declaration and definition of
startup_with_shell and ensures that such clashes will be diagnosed.
This moves the declaration to common-inferior.h, and introduces a new
common-inferior.c, as suggested by Pedro.
gdb/ChangeLog
2019-10-02 Tom Tromey <tromey@adacore.com>
* Makefile.in (COMMON_SFILES): Add common-inferior.c.
* gdbsupport/common-inferior.c: New file.
* infcmd.c (startup_with_shell): Don't define.
* nat/fork-inferior.h (startup_with_shell): Don't declare.
* gdbsupport/common-inferior.h (startup_with_shell): Declare.
* inferior.h (startup_with_shell): Don't declare.
gdb/gdbserver/ChangeLog
2019-10-02 Tom Tromey <tromey@adacore.com>
* Makefile.in (SFILES): Add common-inferior.c.
(OBS): Add common-inferior.o.
* server.c (startup_with_shell): Don't define.
-rw-r--r-- | gdb/ChangeLog | 9 | ||||
-rw-r--r-- | gdb/Makefile.in | 1 | ||||
-rw-r--r-- | gdb/gdbserver/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/gdbserver/Makefile.in | 2 | ||||
-rw-r--r-- | gdb/gdbserver/server.c | 6 | ||||
-rw-r--r-- | gdb/gdbsupport/common-inferior.c | 26 | ||||
-rw-r--r-- | gdb/gdbsupport/common-inferior.h | 20 | ||||
-rw-r--r-- | gdb/infcmd.c | 4 | ||||
-rw-r--r-- | gdb/inferior.h | 19 | ||||
-rw-r--r-- | gdb/nat/fork-inferior.h | 20 |
10 files changed, 64 insertions, 49 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 03c2498..13a1e46 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +2019-10-02 Tom Tromey <tromey@adacore.com> + + * Makefile.in (COMMON_SFILES): Add common-inferior.c. + * gdbsupport/common-inferior.c: New file. + * infcmd.c (startup_with_shell): Don't define. + * nat/fork-inferior.h (startup_with_shell): Don't declare. + * gdbsupport/common-inferior.h (startup_with_shell): Declare. + * inferior.h (startup_with_shell): Don't declare. + 2019-10-02 Christian Biesinger <cbiesinger@google.com> * gdbsupport/gdb_assert.h: Include errors.h. diff --git a/gdb/Makefile.in b/gdb/Makefile.in index d628263..81bed90 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in @@ -953,6 +953,7 @@ COMMON_SFILES = \ gdbsupport/cleanups.c \ gdbsupport/common-debug.c \ gdbsupport/common-exceptions.c \ + gdbsupport/common-inferior.c \ gdbsupport/common-regcache.c \ gdbsupport/common-utils.c \ gdbsupport/errors.c \ diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index 7eef2c5..0108d6d 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,3 +1,9 @@ +2019-10-02 Tom Tromey <tromey@adacore.com> + + * Makefile.in (SFILES): Add common-inferior.c. + (OBS): Add common-inferior.o. + * server.c (startup_with_shell): Don't define. + 2019-10-02 Andrew Burgess <andrew.burgess@embecosm.com> * linux-low.c (linux_low_read_btrace): Update for change to diff --git a/gdb/gdbserver/Makefile.in b/gdb/gdbserver/Makefile.in index ca0a4cb..d79424b 100644 --- a/gdb/gdbserver/Makefile.in +++ b/gdb/gdbserver/Makefile.in @@ -203,6 +203,7 @@ SFILES = \ $(srcdir)/gdbsupport/cleanups.c \ $(srcdir)/gdbsupport/common-debug.c \ $(srcdir)/gdbsupport/common-exceptions.c \ + $(srcdir)/gdbsupport/common-inferior.c \ $(srcdir)/gdbsupport/common-regcache.c \ $(srcdir)/gdbsupport/common-utils.c \ $(srcdir)/gdbsupport/errors.c \ @@ -248,6 +249,7 @@ OBS = \ gdbsupport/cleanups.o \ gdbsupport/common-debug.o \ gdbsupport/common-exceptions.o \ + gdbsupport/common-inferior.o \ gdbsupport/job-control.o \ gdbsupport/common-regcache.o \ gdbsupport/common-utils.o \ diff --git a/gdb/gdbserver/server.c b/gdb/gdbserver/server.c index 67e8e3e..8ee5518 100644 --- a/gdb/gdbserver/server.c +++ b/gdb/gdbserver/server.c @@ -67,12 +67,6 @@ char *current_directory; static gdb_environ our_environ; -/* Start the inferior using a shell. */ - -/* We always try to start the inferior using a shell. */ - -int startup_with_shell = 1; - int server_waiting; static int extended_protocol; diff --git a/gdb/gdbsupport/common-inferior.c b/gdb/gdbsupport/common-inferior.c new file mode 100644 index 0000000..3a7c873 --- /dev/null +++ b/gdb/gdbsupport/common-inferior.c @@ -0,0 +1,26 @@ +/* Functions to deal with the inferior being executed on GDB or + GDBserver. + + Copyright (C) 2019 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/>. */ + +#include "gdbsupport/common-defs.h" +#include "gdbsupport/common-inferior.h" + +/* See common-inferior.h. */ + +bool startup_with_shell = true; diff --git a/gdb/gdbsupport/common-inferior.h b/gdb/gdbsupport/common-inferior.h index 72e4bd9..77d4ad9 100644 --- a/gdb/gdbsupport/common-inferior.h +++ b/gdb/gdbsupport/common-inferior.h @@ -38,4 +38,24 @@ extern const char *get_inferior_cwd (); the directory. */ extern void set_inferior_cwd (const char *cwd); +/* Whether to start up the debuggee under a shell. + + If startup-with-shell is set, GDB's "run" will attempt to start up + the debuggee under a shell. This also happens when using GDBserver + under extended remote mode. + + 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 may be handy to bypass the shell + in some cases. To disable this feature, do "set startup-with-shell + false". + + The catch-exec traps expected during start-up will be one more if + the target is started up with a shell. */ +extern bool startup_with_shell; + #endif /* COMMON_COMMON_INFERIOR_H */ diff --git a/gdb/infcmd.c b/gdb/infcmd.c index 20523fe..7105774 100644 --- a/gdb/infcmd.c +++ b/gdb/infcmd.c @@ -104,10 +104,6 @@ enum stop_stack_kind stop_stack_dummy; int stopped_by_random_signal; -/* See inferior.h. */ - -bool startup_with_shell = true; - /* Accessor routines. */ diff --git a/gdb/inferior.h b/gdb/inferior.h index 3a64a7c..43f0417 100644 --- a/gdb/inferior.h +++ b/gdb/inferior.h @@ -227,25 +227,6 @@ extern struct value *get_return_value (struct value *function, extern void prepare_execution_command (struct target_ops *target, int background); -/* Whether to start up the debuggee under a shell. - - If startup-with-shell is set, GDB's "run" will attempt to start up - the debuggee 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 may be handy to bypass the shell - in some cases. To disable this feature, do "set startup-with-shell - false". - - The catch-exec traps expected during start-up will be one more if - the target is started up with a shell. */ -extern bool startup_with_shell; - /* Nonzero if stopped due to completion of a stack dummy routine. */ extern enum stop_stack_kind stop_stack_dummy; diff --git a/gdb/nat/fork-inferior.h b/gdb/nat/fork-inferior.h index 065496c..0a76ff8 100644 --- a/gdb/nat/fork-inferior.h +++ b/gdb/nat/fork-inferior.h @@ -54,26 +54,6 @@ extern ptid_t startup_inferior (pid_t pid, int ntraps, struct target_waitstatus *mystatus, ptid_t *myptid); -/* Whether to start up the debuggee under a shell. - - If startup-with-shell is set, GDB's "run" will attempt to start up - the debuggee under a shell. This also happens when using GDBserver - under extended remote mode. - - 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 may be handy to bypass the shell - in some cases. To disable this feature, do "set startup-with-shell - false". - - The catch-exec traps expected during start-up will be one more if - the target is started up with a shell. */ -extern bool startup_with_shell; - /* Perform any necessary tasks before a fork/vfork takes place. ARGS is a string containing all the arguments received by the inferior. This function is mainly used by fork_inferior. */ |