diff options
-rw-r--r-- | gdb/ChangeLog | 11 | ||||
-rw-r--r-- | gdb/dwarfread.c | 59 |
2 files changed, 11 insertions, 59 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index f2d63ad..e3d6e3e 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,14 @@ +Sun Aug 8 10:07:47 1993 Fred Fish (fnf@cygnus.com) + + * dwarfread.c (record_minimal_symbol): Remove prototype and + function. + * dwarfread.c (add_partial_symbol): Remove code to add minimal + symbols and remove comment about limitations. Experiments show + that now that gdb handles the ELF symtab better for creating + minimal symbols, that no additional information is added by + examining the DWARF information, and in fact, given the + limitations, the DWARF code was actually making things worse. + Sat Aug 7 10:59:03 1993 Fred Fish (fnf@deneb.cygnus.com) * elfread.c (elf_symtab_read): Properly sort out the bss symbols diff --git a/gdb/dwarfread.c b/gdb/dwarfread.c index 3b9b225..ba00cd2 100644 --- a/gdb/dwarfread.c +++ b/gdb/dwarfread.c @@ -571,10 +571,6 @@ static int locval PARAMS ((char *)); static void -record_minimal_symbol PARAMS ((char *, CORE_ADDR, enum minimal_symbol_type, - struct objfile *)); - -static void set_cu_language PARAMS ((struct dieinfo *)); static struct type * @@ -779,39 +775,6 @@ dwarf_build_psymtabs (objfile, section_offsets, mainline, dbfoff, dbfsize, current_objfile = NULL; } - -/* - -LOCAL FUNCTION - - record_minimal_symbol -- add entry to gdb's minimal symbol table - -SYNOPSIS - - static void record_minimal_symbol (char *name, CORE_ADDR address, - enum minimal_symbol_type ms_type, - struct objfile *objfile) - -DESCRIPTION - - Given a pointer to the name of a symbol that should be added to the - minimal symbol table, and the address associated with that - symbol, records this information for later use in building the - minimal symbol table. - - */ - -static void -record_minimal_symbol (name, address, ms_type, objfile) - char *name; - CORE_ADDR address; - enum minimal_symbol_type ms_type; - struct objfile *objfile; -{ - name = obsavestring (name, strlen (name), &objfile -> symbol_obstack); - prim_record_minimal_symbol (name, address, ms_type); -} - /* LOCAL FUNCTION @@ -2614,20 +2577,6 @@ DESCRIPTION add to a partial symbol table, finish filling in the die info and then add a partial symbol table entry for it. - Also record the symbol in the minimal symbol table. Note that - DWARF does not directly distinquish between data and bss symbols, - so we use mst_data/mst_file_data for both of them. One way we - could make the distinction is checking the address of the symbol - and then checking the flags on the ELF section that contains - that address to look for SHT_PROGBITS (data) or SHT_NOBITS (bss), - but it probably isn't worth the effort. A side effect of leaving - things as they are is that the minimal symbol created from the DWARF - info, containing the wrong minimal_symbol_type, overrides the minimal - symbol created from processing the canonical bfd symbols, which - did have the right minimal_symbol_type. This is probably a side - effect of the way the table is sorted and duplicates are discarded. - (FIXME?) - NOTES The caller must ensure that the DIE has a valid name attribute. @@ -2641,32 +2590,24 @@ add_partial_symbol (dip, objfile) switch (dip -> die_tag) { case TAG_global_subroutine: - record_minimal_symbol (dip -> at_name, dip -> at_low_pc, mst_text, - objfile); ADD_PSYMBOL_TO_LIST (dip -> at_name, strlen (dip -> at_name), VAR_NAMESPACE, LOC_BLOCK, objfile -> global_psymbols, dip -> at_low_pc, cu_language, objfile); break; case TAG_global_variable: - record_minimal_symbol (dip -> at_name, locval (dip -> at_location), - mst_data, objfile); ADD_PSYMBOL_TO_LIST (dip -> at_name, strlen (dip -> at_name), VAR_NAMESPACE, LOC_STATIC, objfile -> global_psymbols, 0, cu_language, objfile); break; case TAG_subroutine: - record_minimal_symbol (dip -> at_name, dip -> at_low_pc, mst_file_text, - objfile); ADD_PSYMBOL_TO_LIST (dip -> at_name, strlen (dip -> at_name), VAR_NAMESPACE, LOC_BLOCK, objfile -> static_psymbols, dip -> at_low_pc, cu_language, objfile); break; case TAG_local_variable: - record_minimal_symbol (dip -> at_name, locval (dip -> at_location), - mst_file_data, objfile); ADD_PSYMBOL_TO_LIST (dip -> at_name, strlen (dip -> at_name), VAR_NAMESPACE, LOC_STATIC, objfile -> static_psymbols, |