From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4798 invoked by alias); 13 Aug 2003 18:23:10 -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 4765 invoked from network); 13 Aug 2003 18:23:09 -0000 Received: from unknown (HELO localhost.redhat.com) (207.219.125.105) by sources.redhat.com with SMTP; 13 Aug 2003 18:23:09 -0000 Received: from redhat.com (localhost [127.0.0.1]) by localhost.redhat.com (Postfix) with ESMTP id D84052B7F; Wed, 13 Aug 2003 14:22:59 -0400 (EDT) Message-ID: <3F3A8203.5060102@redhat.com> Date: Wed, 13 Aug 2003 18:23:00 -0000 From: Andrew Cagney User-Agent: Mozilla/5.0 (X11; U; NetBSD macppc; en-US; rv:1.0.2) Gecko/20030223 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Richard Henderson Cc: Michal Ludvig , Daniel Jacobowitz , gdb Subject: Re: [testsuite & dwarf2] How to handle store.exp failure on AMD64? References: <3F3212B7.8060003@suse.cz> <20030807135035.GA28000@nevyn.them.org> <3F326928.3020502@redhat.com> <20030807150201.GA29511@nevyn.them.org> <3F3275EC.3000702@redhat.com> <3F32C75D.2010007@suse.cz> <3F39B678.70409@redhat.com> <20030813045405.GB11912@redhat.com> <3F3A4DAD.7000702@redhat.com> <20030813165034.GA12234@redhat.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2003-08/txt/msg00140.txt.bz2 > On Wed, Aug 13, 2003 at 10:39:41AM -0400, Andrew Cagney wrote: > >> The initial status of each register is drawn from the CIE, and not the FDE. > > > I understand that. > > >> If GCC is going to move forward with optimizations that involve local >> functions not complying to the ABI, it will need to supply complete >> INITIAL_INSTRUCTIONS information. > > > WHY? > > I just gave you an argument why that information doesn't do you > any particular good, NO MATTER WHAT THE ABI IS. Please refute > it rather than ignoring it. This is a standards question - does the standard specify required behavior, and does GCC comply to the standard. ``logcial'' and ``obvious'', unfortunatly, don't tend to come into such a debate :-( :-) > Moreover, the algorithm I suggested that you use -- assume saved -- > is also completely independant of the ABI, so its' not like GDB > needs to hard code ABI specific information either. It doesn't work in general. On a register window machine, it could use a fairly complex starting state vis: globals: same locals: where saved on stack input: undefined output: in input (register windows give me a headache so don't assume this one is correct :-) It is open to per compiler interpretation. Unless clearly defined by the spec, GCC's interpretation is strictly that - GCCs interpretation. An alternative toolchain is equally at liberty to start with the assumption that registers are undefined. A complete CIE initialization can make for more compact CFI If the initial state is preserve->same and scratch->undefined, the CFI need only describe the preserved registers that get moved. My current best guess is that this is should be defined by either dwarf2 or the relevant ABI committee. [perhaphs I should have cross posted this with dwarf2 :-)] Andrew