From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24790 invoked by alias); 5 Sep 2003 20:43:04 -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 24779 invoked from network); 5 Sep 2003 20:43:03 -0000 Received: from unknown (HELO localhost.redhat.com) (66.30.197.194) by sources.redhat.com with SMTP; 5 Sep 2003 20:43:03 -0000 Received: from redhat.com (localhost [127.0.0.1]) by localhost.redhat.com (Postfix) with ESMTP id 5DB6D2B7F; Fri, 5 Sep 2003 16:43:03 -0400 (EDT) Message-ID: <3F58F557.4090801@redhat.com> Date: Fri, 05 Sep 2003 20:43:00 -0000 From: Andrew Cagney User-Agent: Mozilla/5.0 (X11; U; NetBSD macppc; en-US; rv:1.0.2) Gecko/20030820 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Richard.Earnshaw@arm.com Cc: Daniel Jacobowitz , Richard.Earnshaw@buzzard.freeserve.co.uk, gdb-patches@sources.redhat.com Subject: Re: [RFA] Repost ARM frame patches References: <200309050950.h859oNV23553@pc960.cambridge.arm.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2003-09/txt/msg00084.txt.bz2 >> i.e. GCC emits _empty_ dwarf unwind information for thumb functions, >> rather than none at all. That's unlikely to work. We'd need to modify >> the dwarf2 unwinder to ignore empty FDEs. >> >> I'll check in the non-dwarf parts now, and then we can figure out what >> to do about that. > > > Though of course a trivial leaf function *will* have an empty FDE. > Consider > > int func(void) { return 0;} > > Which compiles to > > mov r0, #0 > bx lr > > I would have thought that wouldn't need any frame unwind information. So > we would have a problem distinguishing trivial cases from "not generated" > cases. FYI, the dwarf2 spec (draft 7) doesn't specify the disposition of unspecified registers that result from an empty or under populated CFI info - such registers are truly undefined. GCC is pushing the bounds of well defined behavior in emitting such info. Andrew