Fix custom hash regression. 2010-09-03 Sami Wagiaalla * psymtab.c (add_psymbol_to_bcache): Initialize obj_section. memset psymbol.ginfo.value to 0. diff --git a/gdb/psymtab.c b/gdb/psymtab.c index a5d2f98..2f1bfc6 100644 --- a/gdb/psymtab.c +++ b/gdb/psymtab.c @@ -1378,6 +1378,11 @@ add_psymbol_to_bcache (char *name, int namelength, int copy_name, { struct partial_symbol psymbol; + /* We must ensure that the entire 'value' field has been zeroed + before assigning to it, because an assignment may not write the + entire field. */ + memset (&psymbol.ginfo.value, 0, sizeof (psymbol.ginfo.value)); + /* val and coreaddr are mutually exclusive, one of them *will* be zero */ if (val != 0) { @@ -1388,6 +1393,7 @@ add_psymbol_to_bcache (char *name, int namelength, int copy_name, SYMBOL_VALUE_ADDRESS (&psymbol) = coreaddr; } SYMBOL_SECTION (&psymbol) = 0; + SYMBOL_OBJ_SECTION (&psymbol) = NULL; SYMBOL_SET_LANGUAGE (&psymbol, language); PSYMBOL_DOMAIN (&psymbol) = domain; PSYMBOL_CLASS (&psymbol) = class;