From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 73688 invoked by alias); 1 Apr 2015 13:55:30 -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 73651 invoked by uid 89); 1 Apr 2015 13:55:29 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.1 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,SPF_PASS,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 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 (AES256-GCM-SHA384 encrypted) ESMTPS; Wed, 01 Apr 2015 13:55:28 +0000 Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by mx1.redhat.com (Postfix) with ESMTPS id 249F5BBF6E for ; Wed, 1 Apr 2015 13:55:27 +0000 (UTC) Received: from blade.nx (ovpn-116-118.ams2.redhat.com [10.36.116.118]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id t31DtQGq026894; Wed, 1 Apr 2015 09:55:26 -0400 Received: by blade.nx (Postfix, from userid 1000) id AF6A126410B; Wed, 1 Apr 2015 14:55:25 +0100 (BST) Date: Wed, 01 Apr 2015 13:55:00 -0000 From: Gary Benson To: Pedro Alves Cc: gdb-patches@sourceware.org Subject: Re: [PATCH 7/9] Update exec_file_attach to cope with "target:" filenames Message-ID: <20150401135525.GE655@blade.nx> References: <1426870087-32654-1-git-send-email-gbenson@redhat.com> <1426870087-32654-8-git-send-email-gbenson@redhat.com> <551BE12D.1080300@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <551BE12D.1080300@redhat.com> X-IsSubscribed: yes X-SW-Source: 2015-04/txt/msg00045.txt.bz2 Pedro Alves wrote: > On 03/20/2015 04:48 PM, Gary Benson wrote: > > This commit adds support for filenames prefixed with "target:" to > > exec_file_attach. This is required to correctly follow inferior > > exec* calls when a gdb_sysroot prefixed with "target:" is set. > > Hmm, I don't see how. Isn't this only true when target_pid_to_exec_file > prepends the sysroot, which it doesn't yet? I think this should move > to that other series. Search for gdb_sysroot in infrun.c. > A couple bits could use more explanation (in commit log and/or > comments): > > - Why is writing into executable files not supported with "target:" ? > - The skipping of gdb_realpath_keepfile. Are these two additions ok? diff --git a/gdb/exec.c b/gdb/exec.c index 6b6fc7d..ce61303 100644 --- a/gdb/exec.c +++ b/gdb/exec.c @@ -192,6 +192,7 @@ exec_file_attach (const char *filename, int from_tty) if (load_via_target) { + /* gdb_bfd_fopen does not support "target:" filenames. */ if (write_files) warning (_("writing into executable files is " "not supported for %s sysroots"), @@ -247,8 +248,10 @@ exec_file_attach (const char *filename, int from_tty) scratch_pathname, bfd_errmsg (bfd_get_error ())); } + /* gdb_realpath_keepfile resolves symlinks on the local + filesystem and so cannot be used for "target:" files. */ gdb_assert (exec_filename == NULL); if (load_via_target) exec_filename = xstrdup (bfd_get_filename (exec_bfd)); else exec_filename = gdb_realpath_keepfile (scratch_pathname); Cheers, Gary -- http://gbenson.net/