From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3488 invoked by alias); 30 Dec 2009 08:58:26 -0000 Received: (qmail 3477 invoked by uid 22791); 30 Dec 2009 08:58:25 -0000 X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from rock.gnat.com (HELO rock.gnat.com) (205.232.38.15) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 30 Dec 2009 08:58:21 +0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by filtered-rock.gnat.com (Postfix) with ESMTP id 592D22BAB85; Wed, 30 Dec 2009 03:58:19 -0500 (EST) 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 2czwlsLUjptv; Wed, 30 Dec 2009 03:58:19 -0500 (EST) Received: from joel.gnat.com (localhost.localdomain [127.0.0.1]) by rock.gnat.com (Postfix) with ESMTP id BECFF2BAB1F; Wed, 30 Dec 2009 03:58:18 -0500 (EST) Received: by joel.gnat.com (Postfix, from userid 1000) id BA29BF5937; Wed, 30 Dec 2009 09:57:50 +0100 (CET) Date: Wed, 30 Dec 2009 08:58:00 -0000 From: Joel Brobecker To: Ian Lance Taylor Cc: Mark Kettenis , gdb-patches@sourceware.org Subject: Re: [RFC] frame_id_inner check and -fsplit-stack Message-ID: <20091230085750.GE2788@adacore.com> References: <20091229190720.GE24363@adacore.com> <200912291948.nBTJmbCx011266@glazunov.sibelius.xs4all.nl> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.20 (2009-06-14) 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 X-SW-Source: 2009-12/txt/msg00432.txt.bz2 > > I think we shouldn't add a knob if we don't need to. So I'd say we > > defenitely should try (4). My initial idea for implementing this > > would be for the unwinder to mark the frames that "split" the stack > > (i.e. make the not normal), and skip the check for those frames. I > > also think the information should be encoded in the debug information > > instead of magic section names that could be lost during (re)linking. > > Looking at DWARF, I see that there is a calling_convention enum which > can be added to the DW_TAG_subprogram for a function. I don't know all > that much about DWARF; does that seem like the right sort of thing to > do? As mentioned to Ian on IRC, the downside of this approach is that the information would not be available unless the code was compiled with debugging info. I think that this is a serious enough downside that we should try to avoid it if possible. > That wouldn't help with the unwind info, though. There I think we could > add a new augmentation code for a split-stack function. I'm not a specialist of unwind info either. But I think that this approach, if implementable, would be more robust. -- Joel