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.
This commit is contained in:
parent
700545387d
commit
80fd282641
10 changed files with 64 additions and 49 deletions
|
@ -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>
|
2019-10-02 Christian Biesinger <cbiesinger@google.com>
|
||||||
|
|
||||||
* gdbsupport/gdb_assert.h: Include errors.h.
|
* gdbsupport/gdb_assert.h: Include errors.h.
|
||||||
|
|
|
@ -953,6 +953,7 @@ COMMON_SFILES = \
|
||||||
gdbsupport/cleanups.c \
|
gdbsupport/cleanups.c \
|
||||||
gdbsupport/common-debug.c \
|
gdbsupport/common-debug.c \
|
||||||
gdbsupport/common-exceptions.c \
|
gdbsupport/common-exceptions.c \
|
||||||
|
gdbsupport/common-inferior.c \
|
||||||
gdbsupport/common-regcache.c \
|
gdbsupport/common-regcache.c \
|
||||||
gdbsupport/common-utils.c \
|
gdbsupport/common-utils.c \
|
||||||
gdbsupport/errors.c \
|
gdbsupport/errors.c \
|
||||||
|
|
|
@ -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>
|
2019-10-02 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||||
|
|
||||||
* linux-low.c (linux_low_read_btrace): Update for change to
|
* linux-low.c (linux_low_read_btrace): Update for change to
|
||||||
|
|
|
@ -203,6 +203,7 @@ SFILES = \
|
||||||
$(srcdir)/gdbsupport/cleanups.c \
|
$(srcdir)/gdbsupport/cleanups.c \
|
||||||
$(srcdir)/gdbsupport/common-debug.c \
|
$(srcdir)/gdbsupport/common-debug.c \
|
||||||
$(srcdir)/gdbsupport/common-exceptions.c \
|
$(srcdir)/gdbsupport/common-exceptions.c \
|
||||||
|
$(srcdir)/gdbsupport/common-inferior.c \
|
||||||
$(srcdir)/gdbsupport/common-regcache.c \
|
$(srcdir)/gdbsupport/common-regcache.c \
|
||||||
$(srcdir)/gdbsupport/common-utils.c \
|
$(srcdir)/gdbsupport/common-utils.c \
|
||||||
$(srcdir)/gdbsupport/errors.c \
|
$(srcdir)/gdbsupport/errors.c \
|
||||||
|
@ -248,6 +249,7 @@ OBS = \
|
||||||
gdbsupport/cleanups.o \
|
gdbsupport/cleanups.o \
|
||||||
gdbsupport/common-debug.o \
|
gdbsupport/common-debug.o \
|
||||||
gdbsupport/common-exceptions.o \
|
gdbsupport/common-exceptions.o \
|
||||||
|
gdbsupport/common-inferior.o \
|
||||||
gdbsupport/job-control.o \
|
gdbsupport/job-control.o \
|
||||||
gdbsupport/common-regcache.o \
|
gdbsupport/common-regcache.o \
|
||||||
gdbsupport/common-utils.o \
|
gdbsupport/common-utils.o \
|
||||||
|
|
|
@ -67,12 +67,6 @@ char *current_directory;
|
||||||
|
|
||||||
static gdb_environ our_environ;
|
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;
|
int server_waiting;
|
||||||
|
|
||||||
static int extended_protocol;
|
static int extended_protocol;
|
||||||
|
|
26
gdb/gdbsupport/common-inferior.c
Normal file
26
gdb/gdbsupport/common-inferior.c
Normal file
|
@ -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;
|
|
@ -38,4 +38,24 @@ extern const char *get_inferior_cwd ();
|
||||||
the directory. */
|
the directory. */
|
||||||
extern void set_inferior_cwd (const char *cwd);
|
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 */
|
#endif /* COMMON_COMMON_INFERIOR_H */
|
||||||
|
|
|
@ -104,10 +104,6 @@ enum stop_stack_kind stop_stack_dummy;
|
||||||
|
|
||||||
int stopped_by_random_signal;
|
int stopped_by_random_signal;
|
||||||
|
|
||||||
/* See inferior.h. */
|
|
||||||
|
|
||||||
bool startup_with_shell = true;
|
|
||||||
|
|
||||||
|
|
||||||
/* Accessor routines. */
|
/* Accessor routines. */
|
||||||
|
|
||||||
|
|
|
@ -227,25 +227,6 @@ extern struct value *get_return_value (struct value *function,
|
||||||
extern void prepare_execution_command (struct target_ops *target,
|
extern void prepare_execution_command (struct target_ops *target,
|
||||||
int background);
|
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. */
|
/* Nonzero if stopped due to completion of a stack dummy routine. */
|
||||||
|
|
||||||
extern enum stop_stack_kind stop_stack_dummy;
|
extern enum stop_stack_kind stop_stack_dummy;
|
||||||
|
|
|
@ -54,26 +54,6 @@ extern ptid_t startup_inferior (pid_t pid, int ntraps,
|
||||||
struct target_waitstatus *mystatus,
|
struct target_waitstatus *mystatus,
|
||||||
ptid_t *myptid);
|
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
|
/* Perform any necessary tasks before a fork/vfork takes place. ARGS
|
||||||
is a string containing all the arguments received by the inferior.
|
is a string containing all the arguments received by the inferior.
|
||||||
This function is mainly used by fork_inferior. */
|
This function is mainly used by fork_inferior. */
|
||||||
|
|
Loading…
Add table
Reference in a new issue