From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32161 invoked by alias); 31 Oct 2003 15:15:47 -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 32128 invoked from network); 31 Oct 2003 15:15:46 -0000 Received: from unknown (HELO localhost.redhat.com) (207.219.125.105) by sources.redhat.com with SMTP; 31 Oct 2003 15:15:46 -0000 Received: from redhat.com (localhost [127.0.0.1]) by localhost.redhat.com (Postfix) with ESMTP id D6ABC2B89; Fri, 31 Oct 2003 10:15:39 -0500 (EST) Message-ID: <3FA27C9B.1000702@redhat.com> Date: Fri, 31 Oct 2003 15:15: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: binutils@sources.redhat.com Cc: gdb@sources.redhat.com Subject: A gdb+bfd string pool? Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2003-10/txt/msg00345.txt.bz2 Hello, GDB, to contain its run-time size is, uses gdb/bcaches where ... /* A bcache is a data structure for factoring out duplication in read-only structures. You give the bcache some string of bytes S. If the bcache already contains a copy of S, it hands you back a pointer to its copy. Otherwise, it makes a fresh copy of S, and hands you back a pointer to that. In either case, you can throw away your copy of S, and use the bcache's. One notable feature of this mechanism is that it lets you eliminate string equality comparisons - equal bcache values implies equal strings. Now, if I'm reading the BFD elf reader correctly, elf-strtab implements a similar mechanism (But I think it is currently only used by the linker?). Should/could BFD export a string pool that GDB could use and then use that for any slurped symbol names? Andrew