From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 38548 invoked by alias); 19 Sep 2017 04:28:51 -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 38526 invoked by uid 89); 19 Sep 2017 04:28:51 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.9 required=5.0 tests=BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=no version=3.3.2 spammy=impact 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; Tue, 19 Sep 2017 04:28:50 +0000 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 1EC3285550 for ; Tue, 19 Sep 2017 04:28:49 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 1EC3285550 Authentication-Results: ext-mx04.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx04.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=sergiodj@redhat.com Received: from psique.yyz.redhat.com (unused-10-15-17-193.yyz.redhat.com [10.15.17.193]) by smtp.corp.redhat.com (Postfix) with ESMTP id CD0506061D; Tue, 19 Sep 2017 04:28:48 +0000 (UTC) From: Sergio Durigan Junior To: GDB Patches Cc: Pedro Alves Subject: [PATCH v2 0/5] New "set cwd" command Date: Tue, 19 Sep 2017 04:28:00 -0000 Message-Id: <20170919042842.9210-1-sergiodj@redhat.com> In-Reply-To: <20170912042325.14927-1-sergiodj@redhat.com> References: <20170912042325.14927-1-sergiodj@redhat.com> X-IsSubscribed: yes X-SW-Source: 2017-09/txt/msg00458.txt.bz2 Changes from v1: - The patch is now importing the "getcwd" module from gnulib as well as the "glob" one. - Improved the "gdb_dirbuf removal" patch (patch #2) by making use of "getcwd (NULL, 0)" instead of a fixed-length buffer to be passed to "getcwd". - Fixed and improved a few things on the "gdb_chdir patch" (patch #3), mainly the "expand_path" function name (which is now named "gdb_tilde_expand"), and the lack of a RAII wrapper around "glob" to make things exception-safe. I decided not to use "gdb_tilde_expand" globally on GDB for now; there are just too many places that use it and I prefer to make this conversion later. - Added gdbserver changes (patch #5), which hopefully makes it easier to see the feature in the "bigger picture". This patch series is a followup of the discussion that happened at: https://sourceware.org/ml/gdb-patches/2017-09/msg00160.html It implements a new GDB command, "set cwd", which is used to set the current working directory of the inferior that will be started. This command works for both native and remote debugging scenarios. The idea here is that "set cwd" will become the de facto way of setting the inferior's cwd. Currently, the user can use "cd" for that, but there are side effects: with "cd", GDB also switches to another directory, and that can impact the loading of scripts and other files. With "set cwd", we separate the logic into a new command. To maintain backward compatibility, if the user issues a "cd" command but doesn't use "set cwd", then the inferior's cwd will still be changed according to what the user specified. However, "set cwd" has precedence over "cd", so it can always be used to override it.