From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5610 invoked by alias); 3 Dec 2003 16:48: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 5441 invoked from network); 3 Dec 2003 16:48:01 -0000 Received: from unknown (HELO blount.mail.mindspring.net) (207.69.200.226) by sources.redhat.com with SMTP; 3 Dec 2003 16:48:01 -0000 Received: from user-119a90a.biz.mindspring.com ([66.149.36.10] helo=berman.michael-chastain.com) by blount.mail.mindspring.net with esmtp (Exim 3.33 #1) id 1ARa9z-0006Ee-00; Wed, 03 Dec 2003 11:47:31 -0500 Received: by berman.michael-chastain.com (Postfix, from userid 502) id 201124B35B; Wed, 3 Dec 2003 11:47:34 -0500 (EST) To: ian@wasabisystems.com, mec.gnu@mindspring.com Subject: Re: Slow handling of C++ symbol names Cc: ac131313@redhat.com, drow@mvista.com, gdb@sources.redhat.com, wcohen@redhat.com Message-Id: <20031203164734.201124B35B@berman.michael-chastain.com> Date: Wed, 03 Dec 2003 16:48:00 -0000 From: mec.gnu@mindspring.com (Michael Elizabeth Chastain) X-SW-Source: 2003-12/txt/msg00041.txt.bz2 Ian Lance Taylor writes: > Could you extract a few of the larger demangled names from each version, > and post them? It might be a good double-check that something isn't > weirdly broken. I'm working on it. I'm writing a Perl script to pass each name through both demanglers, strip the differences, and compare the results. There are a lot of picky differences to account for. So far I've found one type of difference that looks like a bug in the new demangler. _ZStltI9file_pathSsEbRKSt4pairIT_T0_ES6_ OLD: bool std::operator< , std::allocator > >(std::pair, std::allocator > > const&, std::pair std::char_traits, std::allocator > > const&) NEW: bool std::operator<(std::pair const&, std::pair const&) The old demangler produces "operator< <", and the new demangler produces "operator <<". I'm not a name mangling expert but I think that "operator <" is correct here and the new demangler suffers from shift-operator-versus-template-syntax gotcha. Also, why do you want the demangled names? I would think you would have the same old+new demanglers that I do, so that the mangled names would suffice. My reason is that the mangled names which are different amount to 3 megabytes or so, but the demangled names which are different amount to 300 megabytes or so. Michael C