From 04a679b8f5aed2c56ed5cb02f798d87df8415671 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Mon, 16 Nov 2009 18:40:23 +0000 Subject: * xcoffread.c (scan_xcoff_symtab): Update. * symfile.h (add_psymbol_to_list): Update prototype. * symfile.c (add_psymbol_to_bcache): Add copy_name argument. (add_psymbol_to_list): Likewise. * stabsread.c (define_symbol): Update. * mdebugread.c (parse_partial_symbols): Update. (handle_psymbol_enumerators): Update. (new_symbol): Update. * dbxread.c (read_dbx_symtab): Update. * coffread.c (process_coff_symbol): Update. * symtab.h (prim_record_minimal_symbol_full): Declare. (SYMBOL_SET_NAMES): Add copy_name argument. * symtab.c (struct demangled_name_entry): New struct. (hash_demangled_name_entry): New function. (eq_demangled_name_entry): Likewise. (create_demangled_names_hash): Use new functions. (symbol_set_names): Use struct demangled_name_entry. Add copy_name argument. * minsyms.c (prim_record_minimal_symbol_full): New function. (prim_record_minimal_symbol_and_info): Use it. * elfread.c (record_minimal_symbol): Add name_len and copy_name arguments. Call prim_record_minimal_symbol_full. (elf_symtab_read): Add copy_names argument. (elf_symfile_read): Update calls to elf_symtab_read. * dwarf2read.c (add_partial_symbol): Don't copy symbol names. (load_partial_dies): Likewise. (new_symbol): Likewise. * cp-namespace.c (check_one_possible_namespace_symbol): Don't save name on the obstack. Update call to SYMBOL_SET_NAMES. --- gdb/mdebugread.c | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) (limited to 'gdb/mdebugread.c') diff --git a/gdb/mdebugread.c b/gdb/mdebugread.c index 7d29b97..e3f7f8a 100644 --- a/gdb/mdebugread.c +++ b/gdb/mdebugread.c @@ -3095,7 +3095,7 @@ parse_partial_symbols (struct objfile *objfile) namestring = gdbarch_static_transform_name (gdbarch, namestring); - add_psymbol_to_list (namestring, p - namestring, + add_psymbol_to_list (namestring, p - namestring, 1, VAR_DOMAIN, LOC_STATIC, &objfile->static_psymbols, 0, sh.value, @@ -3105,7 +3105,7 @@ parse_partial_symbols (struct objfile *objfile) sh.value += ANOFFSET (objfile->section_offsets, SECT_OFF_DATA (objfile)); /* The addresses in these entries are reported to be wrong. See the code that reads 'G's for symtabs. */ - add_psymbol_to_list (namestring, p - namestring, + add_psymbol_to_list (namestring, p - namestring, 1, VAR_DOMAIN, LOC_STATIC, &objfile->global_psymbols, 0, sh.value, @@ -3123,7 +3123,7 @@ parse_partial_symbols (struct objfile *objfile) || (p == namestring + 1 && namestring[0] != ' ')) { - add_psymbol_to_list (namestring, p - namestring, + add_psymbol_to_list (namestring, p - namestring, 1, STRUCT_DOMAIN, LOC_TYPEDEF, &objfile->static_psymbols, sh.value, 0, @@ -3132,6 +3132,7 @@ parse_partial_symbols (struct objfile *objfile) { /* Also a typedef with the same name. */ add_psymbol_to_list (namestring, p - namestring, + 1, VAR_DOMAIN, LOC_TYPEDEF, &objfile->static_psymbols, sh.value, 0, @@ -3143,7 +3144,7 @@ parse_partial_symbols (struct objfile *objfile) case 't': if (p != namestring) /* a name is there, not just :T... */ { - add_psymbol_to_list (namestring, p - namestring, + add_psymbol_to_list (namestring, p - namestring, 1, VAR_DOMAIN, LOC_TYPEDEF, &objfile->static_psymbols, sh.value, 0, @@ -3205,7 +3206,7 @@ parse_partial_symbols (struct objfile *objfile) ; /* Note that the value doesn't matter for enum constants in psymtabs, just in symtabs. */ - add_psymbol_to_list (p, q - p, + add_psymbol_to_list (p, q - p, 1, VAR_DOMAIN, LOC_CONST, &objfile->static_psymbols, 0, 0, psymtab_language, objfile); @@ -3222,7 +3223,7 @@ parse_partial_symbols (struct objfile *objfile) continue; case 'c': /* Constant, e.g. from "const" in Pascal. */ - add_psymbol_to_list (namestring, p - namestring, + add_psymbol_to_list (namestring, p - namestring, 1, VAR_DOMAIN, LOC_CONST, &objfile->static_psymbols, sh.value, 0, psymtab_language, objfile); @@ -3239,7 +3240,7 @@ parse_partial_symbols (struct objfile *objfile) xfree (name); } sh.value += ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile)); - add_psymbol_to_list (namestring, p - namestring, + add_psymbol_to_list (namestring, p - namestring, 1, VAR_DOMAIN, LOC_BLOCK, &objfile->static_psymbols, 0, sh.value, @@ -3260,7 +3261,7 @@ parse_partial_symbols (struct objfile *objfile) xfree (name); } sh.value += ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile)); - add_psymbol_to_list (namestring, p - namestring, + add_psymbol_to_list (namestring, p - namestring, 1, VAR_DOMAIN, LOC_BLOCK, &objfile->global_psymbols, 0, sh.value, @@ -3489,12 +3490,12 @@ parse_partial_symbols (struct objfile *objfile) symbol table, and the MAIN__ symbol via the minimal symbol table. */ if (sh.st == stProc) - add_psymbol_to_list (name, strlen (name), + add_psymbol_to_list (name, strlen (name), 1, VAR_DOMAIN, LOC_BLOCK, &objfile->global_psymbols, 0, sh.value, psymtab_language, objfile); else - add_psymbol_to_list (name, strlen (name), + add_psymbol_to_list (name, strlen (name), 1, VAR_DOMAIN, LOC_BLOCK, &objfile->static_psymbols, 0, sh.value, psymtab_language, objfile); @@ -3563,7 +3564,7 @@ parse_partial_symbols (struct objfile *objfile) && sh.iss != 0 && sh.index != cur_sdx + 2) { - add_psymbol_to_list (name, strlen (name), + add_psymbol_to_list (name, strlen (name), 1, STRUCT_DOMAIN, LOC_TYPEDEF, &objfile->static_psymbols, 0, (CORE_ADDR) 0, @@ -3604,7 +3605,7 @@ parse_partial_symbols (struct objfile *objfile) continue; } /* Use this gdb symbol */ - add_psymbol_to_list (name, strlen (name), + add_psymbol_to_list (name, strlen (name), 1, VAR_DOMAIN, class, &objfile->static_psymbols, 0, sh.value, psymtab_language, objfile); @@ -3680,7 +3681,7 @@ parse_partial_symbols (struct objfile *objfile) break; } name = debug_info->ssext + psh->iss; - add_psymbol_to_list (name, strlen (name), + add_psymbol_to_list (name, strlen (name), 1, VAR_DOMAIN, class, &objfile->global_psymbols, 0, svalue, @@ -3843,7 +3844,7 @@ handle_psymbol_enumerators (struct objfile *objfile, FDR *fh, int stype, /* Note that the value doesn't matter for enum constants in psymtabs, just in symtabs. */ - add_psymbol_to_list (name, strlen (name), + add_psymbol_to_list (name, strlen (name), 1, VAR_DOMAIN, LOC_CONST, &objfile->static_psymbols, 0, (CORE_ADDR) 0, psymtab_language, objfile); @@ -4788,7 +4789,7 @@ new_symbol (char *name) memset (s, 0, sizeof (*s)); SYMBOL_LANGUAGE (s) = psymtab_language; - SYMBOL_SET_NAMES (s, name, strlen (name), current_objfile); + SYMBOL_SET_NAMES (s, name, strlen (name), 1, current_objfile); return s; } -- cgit v1.1