From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10907 invoked by alias); 12 Aug 2013 20:01:22 -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 10893 invoked by uid 89); 12 Aug 2013 20:01:21 -0000 X-Spam-SWARE-Status: No, score=-4.4 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED,RP_MATCHES_RCVD autolearn=ham version=3.3.2 Received: from sibelius.xs4all.nl (HELO glazunov.sibelius.xs4all.nl) (83.163.83.176) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Mon, 12 Aug 2013 20:01:18 +0000 Received: from glazunov.sibelius.xs4all.nl (kettenis@localhost [127.0.0.1]) by glazunov.sibelius.xs4all.nl (8.14.5/8.14.3) with ESMTP id r7CK19wW007867; Mon, 12 Aug 2013 22:01:09 +0200 (CEST) Received: (from kettenis@localhost) by glazunov.sibelius.xs4all.nl (8.14.5/8.14.3/Submit) id r7CK1862007934; Mon, 12 Aug 2013 22:01:08 +0200 (CEST) Date: Mon, 12 Aug 2013 20:01:00 -0000 Message-Id: <201308122001.r7CK1862007934@glazunov.sibelius.xs4all.nl> From: Mark Kettenis To: palves@redhat.com CC: aburgess@broadcom.com, gdb-patches@sourceware.org In-reply-to: <5208E938.3080305@redhat.com> (message from Pedro Alves on Mon, 12 Aug 2013 14:55:04 +0100) Subject: Re: [PATCH] Consistent display of "" References: <5200F55E.2050308@broadcom.com> <201308061318.r76DIMdd016369@glazunov.sibelius.xs4all.nl> <5200FECF.7030304@broadcom.com> <201308061541.r76FfYQN022875@glazunov.sibelius.xs4all.nl> <520142D9.4030304@redhat.com> <5208E3C8.7060107@broadcom.com> <5208E938.3080305@redhat.com> X-SW-Source: 2013-08/txt/msg00322.txt.bz2 > Date: Mon, 12 Aug 2013 14:55:04 +0100 > From: Pedro Alves > > On 08/12/2013 02:31 PM, Andrew Burgess wrote: > > On 06/08/2013 7:39 PM, Pedro Alves wrote: > >> On 08/06/2013 04:41 PM, Mark Kettenis wrote: > >>>> Date: Tue, 6 Aug 2013 14:49:03 +0100 > >>>> From: "Andrew Burgess" > >> > >>>> 3. My understanding was that values lost due to the ABI of a call site > >>>> were recorded as optimized out. For evidence I would present > >>>> dwarf2_frame_prev_register, and how DWARF2_FRAME_REG_UNDEFINED is handled. > >>>> > >>>> For these reasons I believe my patch should still be considered, what do > >>>> you think? > >>> > >>> I think that registers are either available or unavailble. A register > >>> being unavailble implies that a variable that is supposed to live in > >>> such a register may have been optimized out. Whether GDB's pseudo > >>> variables that respresent registers are considered unavailable or > >>> optimized out in that case is arguable. > >> > >> I think improving consistency as in Andrew's patch is good. > > > > Given almost a week has passed with no further feedback I plan to > > commit this patch tomorrow unless there's any further discussion to be had. > > TBC, note my opinion doesn't get to overrule Mark's. Consensus > works much better, and Mark does have deep knowledge of all > ABI/pseudo registers/etc. gdb things. > That said, Mark, if you still disagree, please counter argue, > otherwise, we'll just have to assume you do agree with the > rationales and clarifications. Can't say I agree. It simply doesn't make sense for registers to be "optimized out". I guess there are two reasons why GDB can't display the contents of a register in a frame: 1. The register contents aren't made available by the debugging interface, i.e. ptrace(2) or the remote stub doesn't tell us. 2. The register wasn't saved before calling another function. I guess after Andrew's chnages 1) would be shown as and 2) would become . But in the latter case something like would make more sense. That said, Pedro, you're pretty much the expert for this area of GDB. So If you think Andrew should go ahead with this, feel free to ignore me.