From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15197 invoked by alias); 5 Aug 2003 18:08:41 -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 15188 invoked from network); 5 Aug 2003 18:08:40 -0000 Received: from unknown (HELO nevyn.them.org) (66.93.172.17) by sources.redhat.com with SMTP; 5 Aug 2003 18:08:40 -0000 Received: from drow by nevyn.them.org with local (Exim 4.20 #1 (Debian)) id 19k6Eh-0007tR-2a for ; Tue, 05 Aug 2003 14:08:39 -0400 Date: Tue, 05 Aug 2003 18:08:00 -0000 From: Daniel Jacobowitz To: gdb-patches@sources.redhat.com Subject: Re: [rfa] generate symbols associated to namespaces Message-ID: <20030805180839.GA30301@nevyn.them.org> Mail-Followup-To: gdb-patches@sources.redhat.com References: <20030622173547.GA22603@nevyn.them.org> <20030624185019.GA24662@nevyn.them.org> <20030805175429.GA29704@nevyn.them.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.1i X-SW-Source: 2003-08/txt/msg00064.txt.bz2 On Tue, Aug 05, 2003 at 11:06:28AM -0700, David Carlton wrote: > On Tue, 5 Aug 2003 13:54:29 -0400, Daniel Jacobowitz said: > > On Fri, Jun 27, 2003 at 02:58:50PM -0700, David Carlton wrote: > > >> + /* Allocate empty GLOBAL_BLOCK and STATIC_BLOCK. */ > >> + > >> + bl = allocate_block (&objfile->symbol_obstack); > >> + BLOCK_DICT (bl) = dict_create_linear (&objfile->symbol_obstack, > >> + NULL); > >> + BLOCKVECTOR_BLOCK (bv, GLOBAL_BLOCK) = bl; > >> + bl = allocate_block (&objfile->symbol_obstack); > >> + BLOCK_DICT (bl) = dict_create_linear (&objfile->symbol_obstack, > >> + NULL); > >> + BLOCKVECTOR_BLOCK (bv, STATIC_BLOCK) = bl; > >> + > >> + /* Allocate the possible namespace block; we put it where the first > >> + local block will live, though I don't think there's any need to > >> + pretend that it's actually a local block (e.g. by setting > >> + BLOCK_SUPERBLOCK appropriately). */ > >> + > >> + bl = allocate_block (&objfile->symbol_obstack); > >> + BLOCK_DICT (bl) = dict_create_hashed_expandable (); > >> + BLOCKVECTOR_BLOCK (bv, FIRST_LOCAL_BLOCK) = bl; > > > Is there any particular reason not to use the global block? If so > > might want to comment what it is. > > Yes: we never want these symbols to be found by a normal search of all > symtabs' global blocks, because we don't trust these symbols. We only > want them found as a last resort, once we've looked every place that > symbols associated to classes should live. So that's why I stash them > in a local block. I'll add a comment to that effect. OK. I would have thought that the fake symtab would never have been searched normally, though - I guess it gets chained into objfile->symtabs? -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer