2012-06-03  Doug Evans  <dje@google.com>
 
+       * symtab.c (lookup_global_symbol_from_objfile): Only scan blockvector
+       of primary symtab.
+       (basic_lookup_transparent_type): Ditto.
+
        * objfiles.h (ALL_OBJFILE_PRIMARY_SYMTABS): New macro.
        (ALL_PRIMARY_SYMTABS): Use it.
        (ALL_PSPACE_PRIMARY_SYMTABS): Ditto.
 
        objfile = objfile_separate_debug_iterate (main_objfile, objfile))
     {
       /* Go through symtabs.  */
-      ALL_OBJFILE_SYMTABS (objfile, s)
-        {
-          bv = BLOCKVECTOR (s);
-          block = BLOCKVECTOR_BLOCK (bv, GLOBAL_BLOCK);
-          sym = lookup_block_symbol (block, name, domain);
-          if (sym)
-            {
-              block_found = block;
-              return fixup_symbol_section (sym, (struct objfile *)objfile);
-            }
-        }
+      ALL_OBJFILE_PRIMARY_SYMTABS (objfile, s)
+       {
+         bv = BLOCKVECTOR (s);
+         block = BLOCKVECTOR_BLOCK (bv, GLOBAL_BLOCK);
+         sym = lookup_block_symbol (block, name, domain);
+         if (sym)
+           {
+             block_found = block;
+             return fixup_symbol_section (sym, (struct objfile *)objfile);
+           }
+       }
 
       sym = lookup_symbol_aux_quick ((struct objfile *) objfile, GLOBAL_BLOCK,
                                     name, domain);
       objfile->sf->qf->pre_expand_symtabs_matching (objfile, STATIC_BLOCK,
                                                    name, STRUCT_DOMAIN);
 
-    ALL_OBJFILE_SYMTABS (objfile, s)
+    ALL_OBJFILE_PRIMARY_SYMTABS (objfile, s)
       {
        bv = BLOCKVECTOR (s);
        block = BLOCKVECTOR_BLOCK (bv, STATIC_BLOCK);