From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23070 invoked by alias); 17 Apr 2008 23:31:29 -0000 Received: (qmail 21629 invoked by uid 22791); 17 Apr 2008 23:29:15 -0000 X-Spam-Check-By: sourceware.org Received: from rock.gnat.com (HELO rock.gnat.com) (205.232.38.15) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 17 Apr 2008 23:28:58 +0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by filtered-rock.gnat.com (Postfix) with ESMTP id 951522AA6B3 for ; Thu, 17 Apr 2008 19:28:56 -0400 (EDT) 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 owEDYHo5z5jH for ; Thu, 17 Apr 2008 19:28:56 -0400 (EDT) Received: from joel.gnat.com (localhost.localdomain [127.0.0.1]) by rock.gnat.com (Postfix) with ESMTP id 59C682AA6AC for ; Thu, 17 Apr 2008 19:28:56 -0400 (EDT) Received: by joel.gnat.com (Postfix, from userid 1000) id 5331EE7ACD; Thu, 17 Apr 2008 16:28:54 -0700 (PDT) Date: Fri, 18 Apr 2008 08:55:00 -0000 From: Joel Brobecker To: gdb-patches@sourceware.org Subject: Re: [RFA/stabs] fix failed assertion during replacement of undefined type Message-ID: <20080417232854.GH12735@adacore.com> References: <20080403212947.GA24753@adacore.com> <20080416230934.GA6274@caradoc.them.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20080416230934.GA6274@caradoc.them.org> User-Agent: Mutt/1.4.2.2i 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: 2008-04/txt/msg00380.txt.bz2 > > The compiler ended up emitting the following debugging info for this > > type, which is incomplete: > > > > .stabs "pck__data_t:t(0,32)=B(0,33)=xepck__data_t:",128,0,3,0 > > I think we should simply refuse this. It's circular and obviously > broken. We have a reference to a named type and the reference is > clearly intended to be to a non-volatile type, so GDB blowing up is > not entirely unreasonable. I agree that the stabs is wrong, and that we should refuse it. The problem is that I haven't found a better way of doing that while reading the stabs, so I decided to do it during the final phase when we are fixing undefined types. -- Joel