Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Sergio Durigan Junior <sergiodj@redhat.com>
To: GDB Patches <gdb-patches@sourceware.org>
Cc: palves@redhat.com, Sergio Durigan Junior <sergiodj@redhat.com>
Subject: [PATCH 6/6] Implement proper "startup-with-shell" support on gdbserver
Date: Fri, 23 Dec 2016 03:49:00 -0000	[thread overview]
Message-ID: <1482464361-4068-7-git-send-email-sergiodj@redhat.com> (raw)
In-Reply-To: <1482464361-4068-1-git-send-email-sergiodj@redhat.com>

This patch implements the proper support for the "startup-with-shell"
feature on gdbserver.  A new packet is added, QStartupShell, and this
packet is sent on initialization.  If the host sends a
"QStartupShell:" (i.e., without arguments), it means the inferior
shall be started without using a shell.  Otherwise, the argument on
the packet is the shell to be used to start the inferior.

I decided to use the "startup-with-shell" setting from the host in
order to decide whether to start the remote inferior using a shell or
not.  However, since there is no easy way to change which shell to use
when starting things, I have also added a new command, "set/show
remote startup-shell", which can contain the shell that the remote
target will use.

A documentation patch is included, along with a new testcase for the
feature.

gdb/ChangeLog:
2016-12-22  Sergio Durigan Junior  <sergiodj@redhat.com>

	* remote.c (remote_startup_shell_var): New variable.
	(set_remote_startup_shell): New function.
	(show_remote_startup_shell): Likewise.
	Add PACKET_QStartupShell.
	(remote_start_remote): Handle new PACKET_QStartupShell.
	(struct protocol_feature remote_protocol_features): New entry for
	PACKET_QStartupShell.
	(_initialize_remote): Call "add_packet_config_cmd" for
	QStartupShell.  Add new set/show command "set remote
	startup-shell".

gdb/gdbserver/ChangeLog:
2016-12-22  Sergio Durigan Junior  <sergiodj@redhat.com>

	* server.c (handle_general_set): Handle new packet
	"QStartupShell".
	(handle_query): Add "QStartupShell" to the list of supported
	packets.

gdb/testsuite/ChangeLog:
2016-12-22  Sergio Durigan Junior  <sergiodj@redhat.com>

	* gdb.server/startup-with-shell.c: New file.
	* gdb.server/startup-with-shell.exp: Likewise.

gdb/doc/ChangeLog:
2016-12-22  Sergio Durigan Junior  <sergiodj@redhat.com>

	* gdb.texinfo (startup-with-shell): Add note mentioning that the
	setting is also used by remote targets.
	(set remote startup-shell): New item.
---
 gdb/doc/gdb.texinfo                             |  14 +++
 gdb/gdbserver/server.c                          |  22 ++++-
 gdb/remote.c                                    |  62 +++++++++++++
 gdb/testsuite/gdb.server/startup-with-shell.c   |  12 +++
 gdb/testsuite/gdb.server/startup-with-shell.exp | 110 ++++++++++++++++++++++++
 5 files changed, 219 insertions(+), 1 deletion(-)
 create mode 100644 gdb/testsuite/gdb.server/startup-with-shell.c
 create mode 100644 gdb/testsuite/gdb.server/startup-with-shell.exp

diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index a0de7d1..3250cae 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -2174,6 +2174,10 @@ initialization file---such as @file{.cshrc} for C-shell,
 $@file{.zshenv} for the Z shell, or the file specified in the
 @samp{BASH_ENV} environment variable for BASH.
 
+This setting is also used by @code{target extended-remote} to
+determine whether the target system will start the inferior using the
+shell (@pxref{set remote startup-shell}).
+
 @anchor{set auto-connect-native-target}
 @kindex set auto-connect-native-target
 @item set auto-connect-native-target
@@ -20486,6 +20490,16 @@ extended-remote}.  This should be set to a filename valid on the
 target system.  If it is not set, the target will use a default
 filename (e.g.@: the last program run).
 
+@item set remote startup-shell @var{shell}
+@itemx show remote startup-shell
+@anchor{set remote startup-shell}
+@cindex startup shell, for remote target
+Set the shell that is going to be used to start the inferior with
+@code{target extended-remote}.  This should be set to a valid shell on
+the target system, and is only effective when
+@code{startup-with-shell} is on.  If it is not set, the target system
+will use the shell pointed by the @code{SHELL} environment variable.
+
 @item set remote interrupt-sequence
 @cindex interrupt remote programs
 @cindex select Ctrl-C, BREAK or BREAK-g
diff --git a/gdb/gdbserver/server.c b/gdb/gdbserver/server.c
index 55eebd9..5faf0b5 100644
--- a/gdb/gdbserver/server.c
+++ b/gdb/gdbserver/server.c
@@ -863,6 +863,26 @@ handle_general_set (char *own_buf)
       return;
     }
 
+  if (startswith (own_buf, "QStartupShell:"))
+    {
+      const char *p = own_buf + strlen ("QStartupShell:");
+
+      if (*p == '\0')
+	{
+	  startup_with_shell = 0;
+	  xfree (startup_shell);
+	}
+      else
+	{
+	  startup_with_shell = 1;
+	  xfree (startup_shell);
+	  startup_shell = xstrdup (p);
+	}
+
+      write_ok (own_buf);
+      return;
+    }
+
   /* Otherwise we didn't know what packet it was.  Say we didn't
      understand it.  */
   own_buf[0] = 0;
@@ -2299,7 +2319,7 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p)
 	}
 
       sprintf (own_buf,
-	       "PacketSize=%x;QPassSignals+;QProgramSignals+",
+	       "PacketSize=%x;QPassSignals+;QProgramSignals+;QStartupShell+",
 	       PBUFSIZ - 1);
 
       if (target_supports_catch_syscall ())
diff --git a/gdb/remote.c b/gdb/remote.c
index 0b5f837..2d2a87a 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -86,6 +86,12 @@ static const struct program_space_data *remote_pspace_data;
    location of the remote exec-file value.  */
 static char *remote_exec_file_var;
 
+/* The variable that holds the startup shell that will be used by the
+   remote target to start the inferior.  If this variable is NULL or
+   empty, we use the value of 'get_startup_shell'.  */
+
+static char *remote_startup_shell_var;
+
 /* The size to align memory write packets, when practical.  The protocol
    does not guarantee any alignment, and gdb will generate short
    writes and unaligned writes, but even as a best-effort attempt this
@@ -727,6 +733,22 @@ show_remote_exec_file (struct ui_file *file, int from_tty,
   fprintf_filtered (file, "%s\n", remote_exec_file_var);
 }
 
+/* The "set/show remote startup-shell" set command hook.  */
+
+static void
+set_remote_startup_shell (char *ignored, int from_tty,
+			  struct cmd_list_element *c)
+{
+  gdb_assert (remote_startup_shell_var != NULL);
+}
+
+static void
+show_remote_startup_shell (struct ui_file *file, int from_tty,
+			   struct cmd_list_element *cmd, const char *value)
+{
+  fprintf_filtered (file, "%s\n", remote_startup_shell_var);
+}
+
 static int
 compare_pnums (const void *lhs_, const void *rhs_)
 {
@@ -1423,6 +1445,7 @@ enum {
   PACKET_QPassSignals,
   PACKET_QCatchSyscalls,
   PACKET_QProgramSignals,
+  PACKET_QStartupShell,
   PACKET_qCRC,
   PACKET_qSearch_memory,
   PACKET_vAttach,
@@ -4074,6 +4097,31 @@ remote_start_remote (int from_tty, struct target_ops *target, int extended_p)
   if (packet_support (PACKET_QAllow) != PACKET_DISABLE)
     remote_set_permissions (target);
 
+  if (packet_support (PACKET_QStartupShell) != PACKET_DISABLE)
+    {
+      if (startup_with_shell)
+	{
+	  const char *sh;
+
+	  if (remote_startup_shell_var != NULL
+	      && *remote_startup_shell_var != '\0')
+	    sh = remote_startup_shell_var;
+	  else
+	    sh = get_startup_shell ();
+
+	  xsnprintf (rs->buf, get_remote_packet_size (),
+		     "QStartupShell:%s", sh);
+	}
+      else
+	xsnprintf (rs->buf, get_remote_packet_size (),
+		   "QStartupShell:");
+
+      putpkt (rs->buf);
+      getpkt (&rs->buf, &rs->buf_size, 0);
+      if (strcmp (rs->buf, "OK") != 0)
+	error (_("Could not set remote startup-with-shell"));
+    }
+
   /* gdbserver < 7.7 (before its fix from 2013-12-11) did reply to any
      unknown 'v' packet with string "OK".  "OK" gets interpreted by GDB
      as a reply to known packet.  For packet "vFile:setfs:" it is an
@@ -4628,6 +4676,8 @@ static const struct protocol_feature remote_protocol_features[] = {
     PACKET_QCatchSyscalls },
   { "QProgramSignals", PACKET_DISABLE, remote_supported_packet,
     PACKET_QProgramSignals },
+  { "QStartupShell", PACKET_DISABLE, remote_supported_packet,
+    PACKET_QStartupShell },
   { "QStartNoAckMode", PACKET_DISABLE, remote_supported_packet,
     PACKET_QStartNoAckMode },
   { "multiprocess", PACKET_DISABLE, remote_supported_packet,
@@ -14081,6 +14131,9 @@ Show the maximum size of the address (in bits) in a memory packet."), NULL,
   add_packet_config_cmd (&remote_protocol_packets[PACKET_QProgramSignals],
 			 "QProgramSignals", "program-signals", 0);
 
+  add_packet_config_cmd (&remote_protocol_packets[PACKET_QStartupShell],
+			 "QStartupShell", "startup-shell", 0);
+
   add_packet_config_cmd (&remote_protocol_packets[PACKET_qSymbol],
 			 "qSymbol", "symbol-lookup", 0);
 
@@ -14380,6 +14433,15 @@ Show the remote pathname for \"run\""), NULL,
 				   &remote_set_cmdlist,
 				   &remote_show_cmdlist);
 
+  add_setshow_string_noescape_cmd ("startup-shell", class_files,
+				   &remote_startup_shell_var, _("\
+Set the remote shell for starting the inferior"), _("\
+Show the remote shell for starting the inferior"), NULL,
+				   set_remote_startup_shell,
+				   show_remote_startup_shell,
+				   &remote_set_cmdlist,
+				   &remote_show_cmdlist);
+
   add_setshow_boolean_cmd ("range-stepping", class_run,
 			   &use_range_stepping, _("\
 Enable or disable range stepping."), _("\
diff --git a/gdb/testsuite/gdb.server/startup-with-shell.c b/gdb/testsuite/gdb.server/startup-with-shell.c
new file mode 100644
index 0000000..ba77b10
--- /dev/null
+++ b/gdb/testsuite/gdb.server/startup-with-shell.c
@@ -0,0 +1,12 @@
+#include <stdio.h>
+
+int
+main (int argc, char *argv[])
+{
+  int i;
+
+  for (i = 0; argv[i] != NULL; ++i)
+    printf ("ARG %d = %s\n", i, argv[i]);
+
+  return 0;
+}
diff --git a/gdb/testsuite/gdb.server/startup-with-shell.exp b/gdb/testsuite/gdb.server/startup-with-shell.exp
new file mode 100644
index 0000000..1bf3654
--- /dev/null
+++ b/gdb/testsuite/gdb.server/startup-with-shell.exp
@@ -0,0 +1,110 @@
+# This testcase is part of GDB, the GNU debugger.
+
+# Copyright 2016 Free Software Foundation, Inc.
+
+# 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/>.
+
+# Test startup-with-shell support using extended-remote.
+
+load_lib gdbserver-support.exp
+
+standard_testfile
+
+if { [skip_gdbserver_tests] } {
+    return 0
+}
+
+if { [prepare_for_testing "failed to prepare" $testfile $srcfile debug] } {
+    untested "failed to compile"
+    return -1
+}
+
+# Initial setup for simple test (wildcard expansion, variable substitution).
+
+proc initial_setup_simple { startup_with_shell run_args } {
+    global hex decimal binfile
+
+    clean_restart $binfile
+    # Make sure we're disconnected, in case we're testing with an
+    # extended-remote board, therefore already connected.
+    gdb_test "disconnect" ".*"
+
+    gdb_test_no_output "set startup-with-shell $startup_with_shell"
+
+    set target_exec [gdbserver_download_current_prog]
+    gdbserver_start_extended
+    gdb_test_no_output "set remote exec-file $target_exec" "set remote exec-file"
+
+    gdb_breakpoint main
+
+    gdb_test "run $run_args" \
+	"Breakpoint ${decimal}, main \\(argc=${decimal}, argv=${hex}\\).*" \
+	"run to main"
+}
+
+proc invalid_remote_shell_test { } {
+    global binfile
+
+    clean_restart $binfile
+    # Make sure we're disconnected, in case we're testing with an
+    # extended-remote board, therefore already connected.
+    gdb_test "disconnect" ".*"
+
+    gdb_test_no_output "set startup-with-shell on"
+    gdb_test_no_output "set remote startup-shell /path/to/invalid/shell"
+
+    set target_exec [gdbserver_download_current_prog]
+    gdbserver_start_extended
+    gdb_test_no_output "set remote exec-file $target_exec" "set remote exec-file"
+
+    gdb_breakpoint main
+
+    gdb_test "run" \
+	"Running \"$binfile\" on the remote target failed" \
+	"run to main (should fail)"
+}
+
+## Doing the actual tests
+
+with_test_prefix "startup_with_shell = on; run_args = *.log" {
+    initial_setup_simple "on" "*.log"
+    gdb_test "print argv\[1\]" "\\\$$decimal = $hex \"config\.log\"" \
+	"testing first argument"
+}
+
+with_test_prefix "startup_with_shell = off; run_args = *.log" {
+    initial_setup_simple "off" "*.log"
+    gdb_test "print argv\[1\]" "\\\$$decimal = $hex \"\\\*\.log\"" \
+	"testing first argument"
+}
+
+with_test_prefix "startup_with_shell = on; run_args = \$TEST" {
+    set env(TEST) "1234"
+    initial_setup_simple "on" "\$TEST"
+    gdb_test "print argv\[1\]" "\\\$$decimal = $hex \"1234\"" \
+	"testing first argument"
+    unset env(TEST)
+}
+
+with_test_prefix "startup_with_shell = off; run_args = \$TEST" {
+    set env(TEST) "1234"
+    initial_setup_simple "off" "\$TEST"
+    gdb_test "print argv\[1\]" "\\\$$decimal = $hex \"\\\$TEST\"" \
+	"testing first argument"
+    unset env(TEST)
+}
+
+with_test_prefix "startup_with_shell = on; invalid remote startup-shell" {
+    invalid_remote_shell_test
+}
-- 
2.7.4


  parent reply	other threads:[~2016-12-23  3:49 UTC|newest]

Thread overview: 155+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-23  3:39 [PATCH 0/6] Implement the ability to start inferiors with a shell " Sergio Durigan Junior
2016-12-23  3:39 ` [PATCH 3/6] Share parts of gdb/inflow.c with gdbserver Sergio Durigan Junior
2016-12-26 21:34   ` Luis Machado
2017-01-03 21:16     ` Sergio Durigan Junior
2016-12-23  3:39 ` [PATCH 2/6] Share parts of gdb/terminal.h " Sergio Durigan Junior
2016-12-26 21:35   ` Luis Machado
2017-01-03 21:14     ` Sergio Durigan Junior
2017-01-03 21:27       ` Luis Machado
2017-01-03 21:38         ` Sergio Durigan Junior
2016-12-23  3:39 ` [PATCH 1/6] Share gdb/environ.[ch] " Sergio Durigan Junior
2016-12-26 21:34   ` Luis Machado
2016-12-23  3:45 ` [PATCH 5/6] Share fork_inferior et al " Sergio Durigan Junior
2017-01-03 23:32   ` Luis Machado
2017-01-05 20:11     ` Sergio Durigan Junior
2018-02-21  3:58   ` [RFC] "gdbserver ... BASENAME_EXE" no longer works (was: "[PATCH 5/6] Share fork_inferior et al with gdbserver") Joel Brobecker
2018-02-21  6:15     ` [RFC] "gdbserver ... BASENAME_EXE" no longer works Sergio Durigan Junior
2018-02-21  7:37       ` Joel Brobecker
2016-12-23  3:45 ` [PATCH 4/6] Share parts of gdb/gdbthread.h with gdbserver Sergio Durigan Junior
2016-12-26 21:35   ` Luis Machado
2017-01-03 21:31     ` Sergio Durigan Junior
2016-12-23  3:49 ` Sergio Durigan Junior [this message]
2016-12-23  8:07   ` [PATCH 6/6] Implement proper "startup-with-shell" support on gdbserver Eli Zaretskii
2017-01-03 20:48     ` Sergio Durigan Junior
2017-01-04 16:08       ` Eli Zaretskii
2017-01-05 20:12         ` Sergio Durigan Junior
2016-12-26 21:34   ` Luis Machado
2017-01-03 21:35     ` Sergio Durigan Junior
2016-12-27  0:26   ` Tom Tromey
2017-01-03 21:32     ` Sergio Durigan Junior
2016-12-23  7:50 ` [PATCH 0/6] Implement the ability to start inferiors with a shell " Eli Zaretskii
2017-01-03 20:23   ` Sergio Durigan Junior
2017-01-18 15:36 ` [PATCH v2] " Sergio Durigan Junior
2017-01-18 15:36   ` [PATCH v2 3/6] Share parts of gdb/inflow.c with gdbserver Sergio Durigan Junior
2017-02-01 18:41     ` Luis Machado
2017-01-18 15:36   ` [PATCH v2 6/6] Implement proper "startup-with-shell" support on gdbserver Sergio Durigan Junior
2017-01-18 16:43     ` Eli Zaretskii
2017-02-01 19:07     ` Luis Machado
2017-01-18 15:36   ` [PATCH v2 1/6] Share gdb/environ.[ch] with gdbserver Sergio Durigan Junior
2017-02-01 20:35     ` Luis Machado
2017-01-18 15:36   ` [PATCH v2 2/6] Share parts of gdb/terminal.h " Sergio Durigan Junior
2017-02-01 18:37     ` Luis Machado
2017-02-07 22:39       ` Sergio Durigan Junior
2017-01-18 15:42   ` [PATCH v2 4/6] Share parts of gdb/gdbthread.h " Sergio Durigan Junior
2017-02-01 18:54     ` Luis Machado
2017-02-07 22:42       ` Sergio Durigan Junior
2017-02-08  9:07         ` Luis Machado
2017-01-18 15:44   ` [PATCH v2 5/6] Share fork_inferior et al " Sergio Durigan Junior
2017-02-01 21:39     ` Luis Machado
2017-02-07 22:23       ` Sergio Durigan Junior
2017-01-26 22:47   ` [PATCH v2] Implement the ability to start inferiors with a shell on gdbserver Sergio Durigan Junior
2017-01-27  7:45     ` Eli Zaretskii
2017-01-27 17:59       ` Sergio Durigan Junior
2017-02-08  3:25   ` [PATCH v3 0/6] " Sergio Durigan Junior
2017-02-08  3:25     ` [PATCH v3 3/6] Share parts of gdb/inflow.c with gdbserver Sergio Durigan Junior
2017-02-15 16:02       ` Pedro Alves
2017-02-16 22:06         ` Sergio Durigan Junior
2017-02-08  3:25     ` [PATCH v3 2/6] Share parts of gdb/terminal.h " Sergio Durigan Junior
2017-02-15 15:54       ` Pedro Alves
2017-02-16 21:37         ` Sergio Durigan Junior
2017-02-08  3:25     ` [PATCH v3 1/6] Share gdb/environ.[ch] " Sergio Durigan Junior
2017-02-15 15:36       ` Pedro Alves
2017-03-07 20:50         ` Sergio Durigan Junior
2017-02-08  3:32     ` [PATCH v3 5/6] Share fork_inferior et al " Sergio Durigan Junior
2017-02-15 17:28       ` Pedro Alves
2017-02-16 12:23         ` Philipp Rudo
2017-02-16 12:26           ` Pedro Alves
2017-02-16 12:37             ` Philipp Rudo
     [not found]         ` <87bmtcg91v.fsf@redhat.com>
2017-03-13 15:34           ` Pedro Alves
2017-02-08  3:33     ` [PATCH v3 6/6] Implement proper "startup-with-shell" support on gdbserver Sergio Durigan Junior
2017-02-08 17:34       ` Eli Zaretskii
2017-02-09  0:02         ` Sergio Durigan Junior
2017-02-17 16:05       ` Pedro Alves
2017-02-17 16:27         ` Eli Zaretskii
2017-03-07 20:59         ` Sergio Durigan Junior
2017-03-13 15:12           ` Pedro Alves
2017-02-08  3:33     ` [PATCH v3 4/6] Share parts of gdb/gdbthread.h with gdbserver Sergio Durigan Junior
2017-02-15 16:15       ` Pedro Alves
2017-02-21 21:27         ` Sergio Durigan Junior
2017-02-13 19:50     ` [PATCH v3 0/6] Implement the ability to start inferiors with a shell on gdbserver Sergio Durigan Junior
2017-03-08  5:29     ` [PATCH v4 0/5] " Sergio Durigan Junior
2017-03-08  5:29       ` [PATCH v4 3/5] Share parts of gdb/gdbthread.h with gdbserver Sergio Durigan Junior
2017-03-08  5:29       ` [PATCH v4 1/5] Share parts of gdb/terminal.h " Sergio Durigan Junior
2017-03-08  5:29       ` [PATCH v4 4/5] Share fork_inferior et al " Sergio Durigan Junior
2017-03-13 17:04         ` Pedro Alves
2017-03-17  1:02           ` Sergio Durigan Junior
2017-03-17 10:27             ` Pedro Alves
2017-03-08  5:29       ` [PATCH v4 2/5] Share parts of gdb/inflow.c " Sergio Durigan Junior
2017-03-08  5:29       ` [PATCH v4 5/5] Implement proper "startup-with-shell" support on gdbserver Sergio Durigan Junior
2017-03-08 15:49         ` Eli Zaretskii
2017-03-13 17:26         ` Pedro Alves
2017-03-30  1:50 ` [PATCH v5 0/5] Implement the ability to start inferiors with a shell " Sergio Durigan Junior
2017-03-30  1:50   ` [PATCH v5 1/5] Move parts of inferior job control to common/ Sergio Durigan Junior
2017-03-31 17:11     ` Pedro Alves
2017-03-31 17:31       ` Sergio Durigan Junior
2017-03-31 18:21         ` Pedro Alves
2017-03-31 21:20           ` Sergio Durigan Junior
2017-04-07 17:51             ` Pedro Alves
2017-04-12  0:25               ` Sergio Durigan Junior
2017-04-12  1:17                 ` [PATCH] Create gdb_termios.h (and cleanup gdb/{,gdbserver/}terminal.h) Sergio Durigan Junior
2017-04-12 10:28                   ` Pedro Alves
2017-04-12 22:00                     ` Sergio Durigan Junior
2017-03-30  1:50   ` [PATCH v5 3/5] C++-fy and prepare for sharing fork_inferior Sergio Durigan Junior
2017-04-07 18:30     ` Pedro Alves
2017-04-12  0:24       ` Sergio Durigan Junior
2017-04-12  5:04         ` Sergio Durigan Junior
2017-04-12  5:19           ` [obv/commit] Fix build breakage from last commit (window-nat.c:windows_create_inferior) Sergio Durigan Junior
2017-04-12 10:14           ` [PATCH] fork-child.c: Avoid unnecessary heap-allocation / string copying (Re: [PATCH v5 3/5] C++-fy and prepare for sharing fork_inferior) Pedro Alves
2017-04-12 22:26             ` Sergio Durigan Junior
2017-04-13  3:42               ` Pedro Alves
2017-04-13  4:33                 ` Sergio Durigan Junior
2017-04-13 10:51                   ` Pedro Alves
2017-04-13 18:30                     ` Sergio Durigan Junior
2017-04-14  1:03           ` [obv/commit] Fix build breakage on Cygwin (PR gdb/21385) Sergio Durigan Junior
2017-03-30  1:50   ` [PATCH v5 2/5] Share parts of gdb/gdbthread.h with gdbserver Sergio Durigan Junior
2017-03-31 17:15     ` Pedro Alves
2017-04-07  2:53       ` Sergio Durigan Junior
2017-03-30  1:55   ` [PATCH v5 4/5] Share fork_inferior et al " Sergio Durigan Junior
2017-03-30  1:55   ` [PATCH v5 5/5] Implement proper "startup-with-shell" support on gdbserver Sergio Durigan Junior
2017-05-04  5:31 ` [PATCH v6 0/4] Implement the ability to start inferiors with a shell " Sergio Durigan Junior
2017-05-04  5:32   ` [PATCH v6 3/4] Share fork_inferior et al with gdbserver Sergio Durigan Junior
2017-05-05 19:05     ` Pedro Alves
2017-05-31  3:43       ` Sergio Durigan Junior
2017-06-07 10:16         ` Pedro Alves
2017-06-07 12:23           ` Pedro Alves
2017-06-07 21:01             ` Sergio Durigan Junior
2017-06-07 21:06               ` Pedro Alves
2017-06-07 21:00           ` Sergio Durigan Junior
2017-05-04  5:32   ` [PATCH v6 1/4] Move parts of inferior job control to common/ Sergio Durigan Junior
2017-05-04  5:32   ` [PATCH v6 2/4] Share parts of gdb/gdbthread.h with gdbserver Sergio Durigan Junior
2017-05-05 19:04     ` Pedro Alves
2017-05-06 14:15       ` Sergio Durigan Junior
2017-05-04  5:38   ` [PATCH v6 4/4] Implement proper "startup-with-shell" support on gdbserver Sergio Durigan Junior
2017-05-05 19:21     ` Pedro Alves
2017-06-04 22:18 ` [PATCH v7 0/4] Implement the ability to start inferiors with a shell " Sergio Durigan Junior
2017-06-04 22:18   ` [PATCH v7 1/4] Move parts of inferior job control to common/ Sergio Durigan Junior
2017-06-04 22:18   ` [PATCH v7 4/4] Implement proper "startup-with-shell" support on gdbserver Sergio Durigan Junior
2017-06-05  2:31     ` Eli Zaretskii
2017-06-04 22:18   ` [PATCH v7 3/4] Share fork_inferior et al with gdbserver Sergio Durigan Junior
2017-06-07 12:29     ` Pedro Alves
2017-06-07 21:06       ` Sergio Durigan Junior
2017-06-07 21:41         ` Sergio Durigan Junior
2017-06-07 22:05           ` Pedro Alves
2017-06-07 22:08             ` Sergio Durigan Junior
2017-06-07 22:14               ` Pedro Alves
2017-06-07 22:15         ` Sergio Durigan Junior
2017-06-07 22:29           ` Pedro Alves
2017-06-08  0:00             ` Sergio Durigan Junior
2019-02-14 15:38               ` Thomas Schwinge
2017-06-08 16:40     ` Yao Qi
2017-06-08 18:49       ` Sergio Durigan Junior
2017-06-08 21:02       ` [commit/obvious] Fix possible bug when no args have been provided to the executable Sergio Durigan Junior
2017-06-09 22:19       ` [commit/obvious] Include <signal.h> on gdbserver/fork-child.c (and fix regressions) Sergio Durigan Junior
2017-06-21 17:01     ` [PATCH v7 3/4] Share fork_inferior et al with gdbserver Simon Marchi
2017-06-21 17:19       ` Sergio Durigan Junior
2017-06-04 22:18   ` [PATCH v7 2/4] Share parts of gdb/gdbthread.h " Sergio Durigan Junior

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1482464361-4068-7-git-send-email-sergiodj@redhat.com \
    --to=sergiodj@redhat.com \
    --cc=gdb-patches@sourceware.org \
    --cc=palves@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox