From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 65574 invoked by alias); 8 Feb 2017 03:25:56 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 60333 invoked by uid 89); 8 Feb 2017 03:23:06 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=wet, beneficial, brings, differ X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 08 Feb 2017 03:23:05 +0000 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 4CB4B7FB60; Wed, 8 Feb 2017 03:23:05 +0000 (UTC) Received: from psique.yyz.redhat.com (unused-10-15-17-193.yyz.redhat.com [10.15.17.193]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v183N4pL023767; Tue, 7 Feb 2017 22:23:04 -0500 From: Sergio Durigan Junior To: GDB Patches Cc: Pedro Alves , Luis Machado Subject: [PATCH v3 0/6] Implement the ability to start inferiors with a shell on gdbserver Date: Wed, 08 Feb 2017 03:25:00 -0000 Message-Id: <20170208032257.15443-1-sergiodj@redhat.com> In-Reply-To: <1482464361-4068-1-git-send-email-sergiodj@redhat.com> References: <1482464361-4068-1-git-send-email-sergiodj@redhat.com> References: <20170118153605.4610-1-sergiodj@redhat.com> X-IsSubscribed: yes X-SW-Source: 2017-02/txt/msg00173.txt.bz2 Hi again, This is the third version of this patch series. I addressed the comments made by Luis. Here's what changed from v2: - Fixed many formatting nits (spurious newlines, indentation, etc.) - Added description of expected values by QStartupWithShell packet Additionally, here's what changed from v1: - Added NEWS entry - Mentioned that the feature is to be used on UNIX-like systems - Removed third argument from set_executing - Removed 'set remote startup-shell' command - Renamed the packet to QStartupWithShell. Now, the packet has only a boolean argument: "1" (meaning that the remote target should use a shell to start the inferior), and "0" (the remote target should not use a shell to start the inferior). - Write documentation for this new packet - Fixed and rewrote ChangeLog entries - Fixed spurious newlines on comments. - Fix comments that only mentioned "GDB" on files that are now being shared with gdbserver. - Adjust copyright notices on files - Use "untested" where applicable on the testcase This patch series implement the "startup-with-shell" feature on gdbserver. This means that it will be possible to start inferiors using the shell (instead of calling execv*), which brings many advantages. First of all, it will be possible to use I/O redirection, variable substitution and globbing expansion on gdbserver just like we do today on GDB. This is great because, among other things, it brings gdbserver on a pair with GDB when considering the Feature Parity project. Secondly, a great deal of code had to be shared between GDB and gdbserver, especially the fork_inferior function, which means that now both programs are using virtually the same code to start inferiors. I've also had to touch on other areas, like terminal.h, inflow.c and gdbthread.h, and even though only the APIs were shared (i.e., gdbserver's version of a gdbthread.h function may differ from GDB's version), this is also beneficial in the long run when we start to unify the code more deeply. But I'm "raining in the wet" here; all this has been explained in better terms before. I did my best to split the patches, but unfortunately the fork_inferior patch is big and I couldn't see a better way to do that. But it shouldn't be very hard to review them, because most of it is just "code movement".