[RFA] Change to pre-expand symtabs

Keith Seitz keiths@redhat.com
Thu Sep 2 17:28:00 GMT 2010


On 09/01/2010 02:32 PM, Tom Tromey wrote:
> I'm afraid I am going to kick this one back to you.

I'll address this in a follow-up. I wanted to address the regression you 
found:

> This modified patch causes a regression in type-opaque.exp, I didn't research
> why.

This is happening because match_transparent_type in symtab.c is assuming 
GLOBAL_BLOCK, even though the desired block type is passed in.

With the simple patch below, the regression is gone.

May I commit this? [It causes no regressions on x86_64 linux.]

Keith

ChangeLog
2010-09-02  Keith Seitz  <keiths@redhat.com>

	* symtab.c (match_transparent_type): Use KIND for determining
	the appropriate BLOCKVECTOR.


Index: symtab.c
===================================================================
RCS file: /cvs/src/src/gdb/symtab.c,v
retrieving revision 1.252
diff -u -p -r1.252 symtab.c
--- symtab.c	1 Sep 2010 21:50:26 -0000	1.252
+++ symtab.c	2 Sep 2010 16:36:58 -0000
@@ -1671,7 +1671,7 @@ match_transparent_type (struct symtab *s
        struct symbol *sym;

        bv = BLOCKVECTOR (symtab);
-      block = BLOCKVECTOR_BLOCK (bv, GLOBAL_BLOCK);
+      block = BLOCKVECTOR_BLOCK (bv, kind);
        sym = lookup_block_symbol (block, name, STRUCT_DOMAIN);
        if (sym && !TYPE_IS_OPAQUE (SYMBOL_TYPE (sym)))
  	return sym;



More information about the Gdb-patches mailing list