From: Luis Machado <lgustavo@codesourcery.com>
To: Sergio Durigan Junior <sergiodj@redhat.com>,
GDB Patches <gdb-patches@sourceware.org>
Cc: <palves@redhat.com>
Subject: Re: [PATCH 6/6] Implement proper "startup-with-shell" support on gdbserver
Date: Mon, 26 Dec 2016 21:34:00 -0000 [thread overview]
Message-ID: <d6bddebd-573d-bc7a-a554-1ecd28cc2d42@codesourcery.com> (raw)
In-Reply-To: <1482464361-4068-7-git-send-email-sergiodj@redhat.com>
On 12/22/2016 09:39 PM, Sergio Durigan Junior wrote:
> 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'. */
> +
Spurious newline.
> +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. */
> +
Technically shouldn't we break this up into a couple comments?
Or maybe "... set command hooks."
> +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 @@
Missing copyright notice in the source file?
> +#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] } {
untested "skipping gdbserver tests"
> + return 0
> +}
> +
> +if { [prepare_for_testing "failed to prepare" $testfile $srcfile debug] } {
> + untested "failed to compile"
The above untested call is not needed as prepare_for_testing will handle
it with the "failed to prepare" message.
> + 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
> +}
>
Otherwise looks OK.
next prev parent reply other threads:[~2016-12-26 21:34 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 1/6] Share gdb/environ.[ch] " Sergio Durigan Junior
2016-12-26 21:34 ` Luis Machado
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:45 ` [PATCH 4/6] Share parts of gdb/gdbthread.h " Sergio Durigan Junior
2016-12-26 21:35 ` Luis Machado
2017-01-03 21:31 ` Sergio Durigan Junior
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:49 ` [PATCH 6/6] Implement proper "startup-with-shell" support on gdbserver Sergio Durigan Junior
2016-12-23 8:07 ` 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 [this message]
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 2/6] Share parts of gdb/terminal.h with gdbserver Sergio Durigan Junior
2017-02-01 18:37 ` Luis Machado
2017-02-07 22:39 ` Sergio Durigan Junior
2017-01-18 15:36 ` [PATCH v2 1/6] Share gdb/environ.[ch] " Sergio Durigan Junior
2017-02-01 20:35 ` Luis Machado
2017-01-18 15:36 ` [PATCH v2 3/6] Share parts of gdb/inflow.c " 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:42 ` [PATCH v2 4/6] Share parts of gdb/gdbthread.h with gdbserver 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 1/6] Share gdb/environ.[ch] with gdbserver Sergio Durigan Junior
2017-02-15 15:36 ` Pedro Alves
2017-03-07 20:50 ` 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 3/6] Share parts of gdb/inflow.c " Sergio Durigan Junior
2017-02-15 16:02 ` Pedro Alves
2017-02-16 22:06 ` 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 2/5] Share parts of gdb/inflow.c with gdbserver 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 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-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-30 1:50 ` [PATCH v5 0/5] Implement the ability to start inferiors with a shell on gdbserver 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: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:55 ` [PATCH v5 4/5] Share fork_inferior et al with gdbserver 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 2/4] Share parts of gdb/gdbthread.h with gdbserver Sergio Durigan Junior
2017-06-04 22:18 ` [PATCH v7 3/4] Share fork_inferior et al " 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 4/4] Implement proper "startup-with-shell" support on gdbserver Sergio Durigan Junior
2017-06-05 2:31 ` Eli Zaretskii
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=d6bddebd-573d-bc7a-a554-1ecd28cc2d42@codesourcery.com \
--to=lgustavo@codesourcery.com \
--cc=gdb-patches@sourceware.org \
--cc=palves@redhat.com \
--cc=sergiodj@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