From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7873 invoked by alias); 2 Jul 2003 21:33:12 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 7859 invoked from network); 2 Jul 2003 21:33:12 -0000 Received: from unknown (HELO frothingslosh.sfbay.redhat.com) (66.187.237.200) by sources.redhat.com with SMTP; 2 Jul 2003 21:33:12 -0000 Received: from frothingslosh.sfbay.redhat.com (localhost.localdomain [127.0.0.1]) by frothingslosh.sfbay.redhat.com (8.12.8/8.12.8) with ESMTP id h62LXB2m002123 for ; Wed, 2 Jul 2003 14:33:11 -0700 Received: (from rth@localhost) by frothingslosh.sfbay.redhat.com (8.12.8/8.12.8/Submit) id h62LXBsN002121 for gdb@sources.redhat.com; Wed, 2 Jul 2003 14:33:11 -0700 X-Authentication-Warning: frothingslosh.sfbay.redhat.com: rth set sender to rth@redhat.com using -f Date: Wed, 02 Jul 2003 21:33:00 -0000 From: Richard Henderson To: gdb@sources.redhat.com Subject: Re: Dwarf unwinder problems with store.exp and preserved regs Message-ID: <20030702213311.GA2115@redhat.com> References: <20030701214429.GA3913@nevyn.them.org> <20030702191059.GD1914@redhat.com> <20030702191907.GA26551@nevyn.them.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20030702191907.GA26551@nevyn.them.org> User-Agent: Mutt/1.4i X-SW-Source: 2003-07/txt/msg00052.txt.bz2 On Wed, Jul 02, 2003 at 03:19:07PM -0400, Daniel Jacobowitz wrote: > So if the initial row assumes all registers are valid, we'd print out a > value in the caller's $eax incorrectly. Ok, so? Except you forget that variables that are live across that call are either (1) in call saved registers or (2) on the stack. So I don't see that the problem will actually affect folk debugging real programs. The only time you get a false positive is when the variable is dead at the call site. And the results you get there will be no different than when the variable is dead and the register gets re-used /in the same function/ without location expressions to note the exact time of death. The best argument, IMO, is that if you switch the default from undefined to samevalue, then you'll get useful information some of the time as opposed to none of the time. r~