From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10483 invoked by alias); 13 Dec 2003 15:32:15 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 10472 invoked from network); 13 Dec 2003 15:32:14 -0000 Received: from unknown (HELO faui10.informatik.uni-erlangen.de) (131.188.31.10) by sources.redhat.com with SMTP; 13 Dec 2003 15:32:14 -0000 Received: from faui1d.informatik.uni-erlangen.de (faui1d [131.188.31.34]) by faui10.informatik.uni-erlangen.de (8.9.3p3/8.1.9-FAU) with ESMTP id QAA09736; Sat, 13 Dec 2003 16:32:12 +0100 (CET) From: Ulrich Weigand Received: (from weigand@localhost) by faui1d.informatik.uni-erlangen.de (8.9.3p3/8.1.6-FAU) id QAA19238; Sat, 13 Dec 2003 16:32:12 +0100 (CET) Message-Id: <200312131532.QAA19238@faui1d.informatik.uni-erlangen.de> Subject: Re: [PATCH] S/390 DWARF-2 CFI frame support To: kettenis@chello.nl (Mark Kettenis) Date: Sat, 13 Dec 2003 15:32:00 -0000 Cc: cagney@gnu.org, weigand@i1.informatik.uni-erlangen.de, gdb-patches@sources.redhat.com, uweigand@de.ibm.com In-Reply-To: <200312121741.hBCHfeRW036656@elgar.kettenis.dyndns.org> from "Mark Kettenis" at Dec 12, 2003 06:41:40 PM MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-SW-Source: 2003-12/txt/msg00356.txt.bz2 Mark Kettenis wrote: > I've considered per-architecture initialization of the unwind table > before. However, the things Richard Henderson says about treating > uninitialized columns as "same value" make sense. However, I rather like to see 'value not available' instead of an incorrect value in an 'info reg' display. So if we do have an arch-dependent callback, we might as well use ABI knowledge to get this right. > On the other hand, we should be able to introduce our own "rules" in > addition to the ones given by the DWARF2/3 specification. We could > add the following two: > > * REG_RETURN_ADDRESS: Set the particular register to the return > address of the function. > > * REG_CFA: Set the particular register to the call frame address. > > We could even allow for an offset, such that we could specify rules > such as: set the ISA PC register to the return address plus an offset > of 8 bytes, or set the ISA SP register to the call frame address plus > minus an offset of 128 bytes. I might need such a facility for SPARC. > > How does that sound? This would certainly solve the s390 situation. > In the meantime, I'm going to try to remove some of the PC and > SP-related hacks in dwarf2-frame.c and see what happens. The only hack that cannot be replaced using the rules described above (as far as I can see) is the if (column == fs->retaddr_column) continue; in dwarf2_frame_cache. Does any platform rely on this behaviour? Bye, Ulrich -- Dr. Ulrich Weigand weigand@informatik.uni-erlangen.de