From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27573 invoked by alias); 13 Feb 2017 19:50:25 -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 27486 invoked by uid 89); 13 Feb 2017 19:50:24 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No 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=gpg, Hx-spam-relays-external:sk:unused-, H*r:sk:unused-, H*RU:sk:unused- 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; Mon, 13 Feb 2017 19:50:14 +0000 Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) (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 9834580F8F; Mon, 13 Feb 2017 19:50:14 +0000 (UTC) Received: from localhost (unused-10-15-17-193.yyz.redhat.com [10.15.17.193]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1DJoDZP029208 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Mon, 13 Feb 2017 14:50:14 -0500 From: Sergio Durigan Junior To: GDB Patches Cc: Pedro Alves , Luis Machado Subject: Re: [PATCH v3 0/6] Implement the ability to start inferiors with a shell on gdbserver References: <1482464361-4068-1-git-send-email-sergiodj@redhat.com> <20170118153605.4610-1-sergiodj@redhat.com> <20170208032257.15443-1-sergiodj@redhat.com> X-URL: http://blog.sergiodj.net Date: Mon, 13 Feb 2017 19:50:00 -0000 In-Reply-To: <20170208032257.15443-1-sergiodj@redhat.com> (Sergio Durigan Junior's message of "Tue, 7 Feb 2017 22:22:51 -0500") Message-ID: <8760kdq39n.fsf@redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-IsSubscribed: yes X-SW-Source: 2017-02/txt/msg00364.txt.bz2 On Tuesday, February 07 2017, I wrote: > Hi again, > > This is the third version of this patch series. I addressed the > comments made by Luis. Ping. > 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". -- Sergio GPG key ID: 237A 54B1 0287 28BF 00EF 31F4 D0EB 7628 65FC 5E36 Please send encrypted e-mail if possible http://sergiodj.net/