From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 77155 invoked by alias); 26 Jan 2017 22:47: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 77130 invoked by uid 89); 26 Jan 2017 22:47:54 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-4.1 required=5.0 tests=BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=deeply, brings, GPG, among 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; Thu, 26 Jan 2017 22:47:44 +0000 Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) (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 096AC3D974; Thu, 26 Jan 2017 22:47:44 +0000 (UTC) Received: from localhost (unused-10-15-17-193.yyz.redhat.com [10.15.17.193]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v0QMlho2018778 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Thu, 26 Jan 2017 17:47:43 -0500 From: Sergio Durigan Junior To: GDB Patches Cc: Pedro Alves , Eli Zaretskii , Luis Machado Subject: Re: [PATCH v2] 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> X-URL: http://blog.sergiodj.net Date: Thu, 26 Jan 2017 22:47:00 -0000 In-Reply-To: <20170118153605.4610-1-sergiodj@redhat.com> (Sergio Durigan Junior's message of "Wed, 18 Jan 2017 10:35:59 -0500") Message-ID: <87lgtxe8vm.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-01/txt/msg00607.txt.bz2 On Wednesday, January 18 2017, I wrote: > Hi again, Ping. > This is the second version of this patch series. I addressed many > comments made by Luis, Eli, Tom and Pedro (private) on the first > version. Thanks! > > 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/