From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4106 invoked by alias); 22 Aug 2002 05:37:36 -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 4095 invoked from network); 22 Aug 2002 05:37:34 -0000 Received: from unknown (HELO zenia.red-bean.com) (66.244.67.22) by sources.redhat.com with SMTP; 22 Aug 2002 05:37:34 -0000 Received: (from jimb@localhost) by zenia.red-bean.com (8.11.6/8.11.6) id g7M5Qp520822; Thu, 22 Aug 2002 00:26:51 -0500 Date: Wed, 21 Aug 2002 22:37:00 -0000 Message-Id: <200208220526.g7M5Qp520822@zenia.red-bean.com> From: Jim Blandy To: gdb-patches@sources.redhat.com Subject: RFA: don't use minsym name when searching block X-SW-Source: 2002-08/txt/msg00680.txt.bz2 I'd appreciate it if the C++ folks could check this out. I don't have a test case yet, but I'll try to put one together tomorrow. 2002-08-21 Jim Blandy * symtab.c (lookup_symbol_aux): In the case where we find a minimal symbol of an appropriate name and use its address to select a symtab to read and search, use `name' (as passed to us) as the demangled name when searching the symtab's global and static blocks, not the minsym's name. The minsym's name might be mangled. Index: gdb/symtab.c =================================================================== RCS file: /cvs/src/src/gdb/symtab.c,v retrieving revision 1.68 diff -c -r1.68 symtab.c *** gdb/symtab.c 1 Aug 2002 17:18:33 -0000 1.68 --- gdb/symtab.c 22 Aug 2002 04:38:54 -0000 *************** *** 860,874 **** /* This is a function which has a symtab for its address. */ bv = BLOCKVECTOR (s); block = BLOCKVECTOR_BLOCK (bv, GLOBAL_BLOCK); ! sym = lookup_block_symbol (block, SYMBOL_NAME (msymbol), ! mangled_name, namespace); /* We kept static functions in minimal symbol table as well as in static scope. We want to find them in the symbol table. */ if (!sym) { block = BLOCKVECTOR_BLOCK (bv, STATIC_BLOCK); ! sym = lookup_block_symbol (block, SYMBOL_NAME (msymbol), ! mangled_name, namespace); } /* sym == 0 if symbol was found in the minimal symbol table --- 860,873 ---- /* This is a function which has a symtab for its address. */ bv = BLOCKVECTOR (s); block = BLOCKVECTOR_BLOCK (bv, GLOBAL_BLOCK); ! sym = lookup_block_symbol (block, name, mangled_name, namespace); /* We kept static functions in minimal symbol table as well as in static scope. We want to find them in the symbol table. */ if (!sym) { block = BLOCKVECTOR_BLOCK (bv, STATIC_BLOCK); ! sym = lookup_block_symbol (block, name, ! mangled_name, namespace); } /* sym == 0 if symbol was found in the minimal symbol table