aboutsummaryrefslogtreecommitdiff
path: root/gdb/gdbserver/ChangeLog
diff options
context:
space:
mode:
authorSergio Durigan Junior <sergiodj@redhat.com>2016-12-22 21:11:11 -0500
committerSergio Durigan Junior <sergiodj@redhat.com>2017-06-07 19:56:09 -0400
commit2090129c36c7e582943b7d300968d19b46160d84 (patch)
treed7abde0c9c147cb404a6a0794adb49c26c29b015 /gdb/gdbserver/ChangeLog
parent043a49349c713dc329a2dfc413b082c3826ecdb8 (diff)
downloadgdb-2090129c36c7e582943b7d300968d19b46160d84.zip
gdb-2090129c36c7e582943b7d300968d19b46160d84.tar.gz
gdb-2090129c36c7e582943b7d300968d19b46160d84.tar.bz2
Share fork_inferior et al with gdbserver
This is the most important (and the biggest, sorry) patch of the series. It moves fork_inferior from gdb/fork-child.c to nat/fork-inferior.c and makes all the necessary adjustments to both GDB and gdbserver to make sure everything works OK. There is no "most important change" with this patch; all changes are made in a progressive way, making sure that gdbserver had the necessary features while not breaking GDB at the same time. I decided to go ahead and implement a partial support for starting the inferior with a shell on gdbserver, although the full feature comes in the next patch. The user won't have the option to disable the startup-with-shell, and also won't be able to change which shell gdbserver will use (other than setting the $SHELL environment variable, that is). Everything is working as expected, and no regressions were present during the tests. gdb/ChangeLog: 2017-06-07 Sergio Durigan Junior <sergiodj@redhat.com> Pedro Alves <palves@redhat.com> * Makefile.in (HFILES_NO_SRCDIR): Add "common/common-inferior.h" and "nat/fork-inferior.h". * common/common-inferior.h: New file, with contents from "gdb/inferior.h". * commom/common-utils.c: Include "common-utils.h". (stringify_argv): New function. * common/common-utils.h (stringify_argv): New prototype. * configure.nat: Add "fork-inferior.o" as a dependency for "*linux*", "fbsd*" and "nbsd*" hosts. * corefile.c (get_exec_file): Update comment. * darwin-nat.c (darwin_ptrace_him): Call "gdb_startup_inferior" instead of "startup_inferior". (darwin_create_inferior): Call "add_thread_silent" after "fork_inferior". * fork-child.c: Cleanup unnecessary includes. (SHELL_FILE): Move to "common/common-fork-child.c". (environ): Likewise. (exec_wrapper): Initialize. (get_exec_wrapper): New function. (breakup_args): Move to "common/common-fork-child.c"; rename to "breakup_args_for_exec". (escape_bang_in_quoted_argument): Move to "common/common-fork-child.c". (saved_ui): New variable. (prefork_hook): New function. (postfork_hook): Likewise. (postfork_child_hook): Likewise. (gdb_startup_inferior): Likewise. (fork_inferior): Move to "common/common-fork-child.c". Update function to support gdbserver. (startup_inferior): Likewise. * gdbcore.h (get_exec_file): Remove declaration. * gnu-nat.c (gnu_create_inferior): Call "gdb_startup_inferior" instead of "startup_inferior". Call "add_thread_silent" after "fork_inferior". * inf-ptrace.c: Include "nat/fork-inferior.h" and "utils.h". (inf_ptrace_create_inferior): Call "gdb_startup_inferior" instead of "startup_inferior". Call "add_thread_silent" after "fork_inferior". * inferior.h: Include "common-inferior.h". (trace_start_error): Move to "common/common-utils.h". (trace_start_error_with_name): Likewise. (fork_inferior): Move prototype to "nat/fork-inferior.h". (startup_inferior): Likewise. (gdb_startup_inferior): New prototype. * nat/fork-inferior.c: New file, with contents from "fork-child.c". * nat/fork-inferior.h: New file. * procfs.c (procfs_init_inferior): Call "gdb_startup_inferior" instead of "startup_inferior". Call "add_thread_silent" after "fork_inferior". * target.h (target_terminal_init): Move prototype to "target/target.h". (target_terminal_inferior): Likewise. (target_terminal_ours): Likewise. * target/target.h (target_terminal_init): New prototype, moved from "target.h". (target_terminal_inferior): Likewise. (target_terminal_ours): Likewise. * utils.c (gdb_flush_out_err): New function. gdb/gdbserver/ChangeLog: 2017-06-07 Sergio Durigan Junior <sergiodj@redhat.com> Pedro Alves <palves@redhat.com> * Makefile.in (SFILES): Add "nat/fork-inferior.o". * configure: Regenerate. * configure.srv (srv_linux_obj): Add "fork-child.o" and "fork-inferior.o". (i[34567]86-*-lynxos*): Likewise. (spu*-*-*): Likewise. * fork-child.c: New file. * linux-low.c: Include "common-inferior.h", "nat/fork-inferior.h" and "environ.h". (linux_ptrace_fun): New function. (linux_create_inferior): Adjust function prototype to reflect change on "target.h". Adjust function code to use "fork_inferior". (linux_request_interrupt): Delete "signal_pid". * lynx-low.c: Include "common-inferior.h" and "nat/fork-inferior.h". (lynx_ptrace_fun): New function. (lynx_create_inferior): Adjust function prototype to reflect change on "target.h". Adjust function code to use "fork_inferior". * nto-low.c (nto_create_inferior): Adjust function prototype and code to reflect change on "target.h". Update comments. * server.c: Include "common-inferior.h", "nat/fork-inferior.h", "common-terminal.h" and "environ.h". (terminal_fd): Moved to fork-child.c. (old_foreground_pgrp): Likewise. (restore_old_foreground_pgrp): Likewise. (last_status): Make it global. (last_ptid): Likewise. (our_environ): New variable. (startup_with_shell): Likewise. (program_name): Likewise. (program_argv): Rename to... (program_args): ...this. (wrapper_argv): New variable. (start_inferior): Delete function. (get_exec_wrapper): New function. (get_exec_file): Likewise. (get_environ): Likewise. (prefork_hook): Likewise. (post_fork_inferior): Likewise. (postfork_hook): Likewise. (postfork_child_hook): Likewise. (handle_v_run): Update code to deal with arguments coming from the remote host. Update calls from "start_inferior" to "create_inferior". (captured_main): Likewise. Initialize environment variable. Call "have_job_control". * server.h (post_fork_inferior): New prototype. (get_environ): Likewise. (last_status): Declare. (last_ptid): Likewise. (signal_pid): Likewise. * spu-low.c: Include "common-inferior.h" and "nat/fork-inferior.h". (spu_ptrace_fun): New function. (spu_create_inferior): Adjust function prototype to reflect change on "target.h". Adjust function code to use "fork_inferior". * target.c (target_terminal_init): New function. (target_terminal_inferior): Likewise. (target_terminal_ours): Likewise. * target.h: Include <vector>. (struct target_ops) <create_inferior>: Update prototype. (create_inferior): Update macro. * utils.c (gdb_flush_out_err): New function. * win32-low.c (win32_create_inferior): Adjust function prototype and code to reflect change on "target.h". gdb/testsuite/ChangeLog: 2017-06-07 Sergio Durigan Junior <sergiodj@redhat.com> * gdb.server/non-existing-program.exp: Update regex in order to reflect the fact that gdbserver is now using fork_inferior (with a shell) to startup the inferior.
Diffstat (limited to 'gdb/gdbserver/ChangeLog')
-rw-r--r--gdb/gdbserver/ChangeLog69
1 files changed, 69 insertions, 0 deletions
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
index 840cf79..275f65c 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,4 +1,73 @@
2017-06-07 Sergio Durigan Junior <sergiodj@redhat.com>
+ Pedro Alves <palves@redhat.com>
+
+ * Makefile.in (SFILES): Add "nat/fork-inferior.o".
+ * configure: Regenerate.
+ * configure.srv (srv_linux_obj): Add "fork-child.o" and
+ "fork-inferior.o".
+ (i[34567]86-*-lynxos*): Likewise.
+ (spu*-*-*): Likewise.
+ * fork-child.c: New file.
+ * linux-low.c: Include "common-inferior.h", "nat/fork-inferior.h"
+ and "environ.h".
+ (linux_ptrace_fun): New function.
+ (linux_create_inferior): Adjust function prototype to reflect
+ change on "target.h". Adjust function code to use
+ "fork_inferior".
+ (linux_request_interrupt): Delete "signal_pid".
+ * lynx-low.c: Include "common-inferior.h" and "nat/fork-inferior.h".
+ (lynx_ptrace_fun): New function.
+ (lynx_create_inferior): Adjust function prototype to reflect
+ change on "target.h". Adjust function code to use
+ "fork_inferior".
+ * nto-low.c (nto_create_inferior): Adjust function prototype and
+ code to reflect change on "target.h". Update comments.
+ * server.c: Include "common-inferior.h", "nat/fork-inferior.h",
+ "common-terminal.h" and "environ.h".
+ (terminal_fd): Moved to fork-child.c.
+ (old_foreground_pgrp): Likewise.
+ (restore_old_foreground_pgrp): Likewise.
+ (last_status): Make it global.
+ (last_ptid): Likewise.
+ (our_environ): New variable.
+ (startup_with_shell): Likewise.
+ (program_name): Likewise.
+ (program_argv): Rename to...
+ (program_args): ...this.
+ (wrapper_argv): New variable.
+ (start_inferior): Delete function.
+ (get_exec_wrapper): New function.
+ (get_exec_file): Likewise.
+ (get_environ): Likewise.
+ (prefork_hook): Likewise.
+ (post_fork_inferior): Likewise.
+ (postfork_hook): Likewise.
+ (postfork_child_hook): Likewise.
+ (handle_v_run): Update code to deal with arguments coming from the
+ remote host. Update calls from "start_inferior" to
+ "create_inferior".
+ (captured_main): Likewise. Initialize environment variable. Call
+ "have_job_control".
+ * server.h (post_fork_inferior): New prototype.
+ (get_environ): Likewise.
+ (last_status): Declare.
+ (last_ptid): Likewise.
+ (signal_pid): Likewise.
+ * spu-low.c: Include "common-inferior.h" and "nat/fork-inferior.h".
+ (spu_ptrace_fun): New function.
+ (spu_create_inferior): Adjust function prototype to reflect change
+ on "target.h". Adjust function code to use "fork_inferior".
+ * target.c (target_terminal_init): New function.
+ (target_terminal_inferior): Likewise.
+ (target_terminal_ours): Likewise.
+ * target.h: Include <vector>.
+ (struct target_ops) <create_inferior>: Update prototype.
+ (create_inferior): Update macro.
+ * utils.c (gdb_flush_out_err): New function.
+ * win32-low.c (win32_create_inferior): Adjust function prototype
+ and code to reflect change on "target.h".
+
+2017-06-07 Sergio Durigan Junior <sergiodj@redhat.com>
* inferiors.c (switch_to_thread): New function.