From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6826 invoked by alias); 17 Jul 2015 21:48:38 -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 6817 invoked by uid 89); 17 Jul 2015 21:48:37 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.2 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_NONE autolearn=no version=3.3.2 X-HELO: rock.gnat.com Received: from rock.gnat.com (HELO rock.gnat.com) (205.232.38.15) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Fri, 17 Jul 2015 21:48:36 +0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by filtered-rock.gnat.com (Postfix) with ESMTP id C80D1290D7; Fri, 17 Jul 2015 17:48:34 -0400 (EDT) Received: from rock.gnat.com ([127.0.0.1]) by localhost (rock.gnat.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 6x8mBTQo1y5x; Fri, 17 Jul 2015 17:48:34 -0400 (EDT) Received: from joel.gnat.com (localhost.localdomain [127.0.0.1]) by rock.gnat.com (Postfix) with ESMTP id 6053A28A2C; Fri, 17 Jul 2015 17:48:34 -0400 (EDT) Received: by joel.gnat.com (Postfix, from userid 1000) id AD15340283; Fri, 17 Jul 2015 14:48:32 -0700 (PDT) Date: Fri, 17 Jul 2015 21:48:00 -0000 From: Joel Brobecker To: Gary Benson Cc: Don Breazeal , "gdb-patches@sourceware.org" Subject: Re: [PATCH] Make only user-specified executable filenames sticky Message-ID: <20150717214832.GA27694@adacore.com> References: <20150505151448.GA1417@blade.nx> <1430907977-30605-1-git-send-email-gbenson@redhat.com> <5550E357.9040209@codesourcery.com> <20150605093724.GA26604@blade.nx> <5571B828.1080208@codesourcery.com> <20150703111418.GB15448@blade.nx> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150703111418.GB15448@blade.nx> User-Agent: Mutt/1.5.23 (2014-03-12) X-SW-Source: 2015-07/txt/msg00529.txt.bz2 On Fri, Jul 03, 2015 at 12:14:18PM +0100, Gary Benson wrote: > Don Breazeal wrote: > > On 6/5/2015 2:37 AM, Gary Benson wrote: > > > Don Breazeal wrote: > > > > On 5/6/2015 3:26 AM, Gary Benson wrote: > > > > > In GDB some executable files are supplied by the user > > > > > (e.g. using a "file" command) and some are determined by GDB > > > > > (e.g. while processing an "attach" command). GDB will not > > > > > attempt to determine a filename if one has been set. This > > > > > causes problems if you attach to one process and then attach > > > > > to another: GDB will not attempt to discover the main > > > > > executable on the second attach. If the two processes have > > > > > different main executable files then the symbols will now be > > > > > wrong. > > > > > > > > > > This commit updates GDB to keep track of which executable > > > > > filenames were supplied by the user. When GDB might attempt > > > > > to determine an executable filename and one is already set, > > > > > filenames determined by GDB may be overridden but > > > > > user-supplied filenames will not. > > > > > > > > How does this interact with follow-exec-mode? If > > > > follow-exec-mode is 'new' and the program execs, then 'run' will > > > > use the original executable file. But if follow-exec-mode is > > > > 'same' and the program execs, then 'run' will use the executable > > > > file that was active after the exec call. Hi Gary, > > > > In the follow-exec-mode == 'same' instance, is the assumption > > > > that the exec'd executable file takes on the same > > > > 'user-supplied' attribute as the initial executable, since it is > > > > using the original inferior? > > > > > > > > If so, is there a scenario where: > > > > * the user supplies the exec file name > > > > * the program execs, so the exec file name is now different > > > > * then the user tries to do an attach (without an exec file name) > > > > to a process running the original exec file, and gets the wrong > > > > exec file name? > > > > > > I'm not sure. Where would I need to look to check this out? > > > (Where is the bit that updates the filename after exec?) > > > > I think it goes like this: infrun.c:follow_exec calls > > exec.c:exec_file_attach, which updates the name of the executable. > > Ah, there is exactly the scenario you describe Don, good call. > Joel, I can fix v3 of this patch to zero exec_file_is_user_supplied > before the exec_file_attach in follow_exec. > > I'm not convinced this patch will not introduce new bugs, the whole > handling of how/where executable and/or symbol files get changed > seems... haphazard :) That's mainly why I'd put this patch on the > back burner. > > I'm on the fence as to whether this should be committed, so I'll > defer to you Joel. If you say commit I'll re-test and push. Now that the branch has been cut, I'm thinking it would be a good to start getting the ball rolling again. WDYT? -- Joel