aboutsummaryrefslogtreecommitdiff
path: root/gdb/buildsym.h
AgeCommit message (Collapse)AuthorFilesLines
2002-05-15Add macro structures to GDB's symbol tables. Nobody puts anythingJim Blandy1-0/+4
in them yet. * symtab.h (struct symtab): New member: `macro_table'. * buildsym.h (pending_macros): New global variable. * buildsym.c: #include "macrotab.h". (buildsym_init): Initialize `pending_macros'. (end_symtab): If we found macro information while reading a CU's debugging info, do build a symtab structure for it. Make the symtab point to the macro information, and clear the `pending_macros' pointer which held it while we were reading the debug info. (really_free_pendings): Free any pending macro table. * objfiles.h (struct objfile): New member: `macro_cache'. * objfiles.c (allocate_objfile): Set allocate and free functions for the macro cache's objstack. (free_objfile): Empty the macro cache's obstack. * symfile.c (reread_symbols): Empty the macro cache's obstack, and set new allocate and free functions for it. * solib-sunos.c (allocate_rt_common_objfile): Set allocate and free functions for the macro cache's objstack. (Why is this function building its own objfile?) * symmisc.c (print_objfile_statistics): Print statistics on the macro bcache. * Makefile.in: Note that buildsym.o depends on macrotab.h.
2001-03-06Update/correct copyright notices.Kevin Buettner1-1/+2
2000-02-18* buildsym.h (add_free_pendings): Declare.Jim Blandy1-0/+2
* buildsym.c (add_free_pendings): New function. (make_blockvector): 32x64 fix using longest_local_hex_string(). (start_subfile): initialize variable 'subfile'.
1999-08-02import gdb-1999-08-02 snapshotJason Molenda1-1/+1
1999-07-07import gdb-1999-07-07 post reformatJason Molenda1-15/+16
1999-04-16Initial creation of sourceware repositorygdb-4_18-branchpointStan Shebs1-0/+297
1999-04-16Initial creation of sourceware repositoryStan Shebs1-297/+0
1999-02-01 * buildsym.h, buildsym.c: Convert to ANSI-only.Stan Shebs1-46/+34
1999-01-31 * buildsym.h, buildsym.c: Reformat to standard.Stan Shebs1-90/+100
1998-12-10Start of HP merge changes to GDB.David Taylor1-0/+19
1998-06-14 * partial-stab.h: 'F' and 'f' type N_FUN psymbols should passRon Unrau1-0/+7
CUR_SYMBOL_VALUE as CORE_ADDR instead of long * buildsym.[ch]: export pending_blocks list * tm-txvu.h: define TARGET_READ_SP and TARGET_WRITE_SP * txvu-tdep.c: rewrite symtabs to support N_FUN symbols in overlays. (Actually, the last version did this for N_SLINE symbols). (txvu_read_sp,txvu_write_sp): new
1997-06-28 * buildsym.h (struct subfile): Add debugformat member.Fred Fish1-0/+4
(record_debugformat): Declare global function. * buildsym.c (start_subfile): Initialize debugformat member to NULL. (record_debugformat): New function to record the format. (end_symtab): Copy format into symtab debugformat member. (end_symtab): Free subfile debugformat member. * symmisc.c (free_symtab): Free debugformat when freeing symtab. * symfile.c (allocate_symtab): Initialize the new debugformat member for new symtabs. * symtab.h (struct symtab): Add debugformat member. * source.c (source_info): Print the debug format. * os9kread.c (os9k_process_one_symbol): Call record_debugformat with "OS9". * hpread.c (hpread_expand_symtab): Call record_debugformat with "HP". (hpread_process_one_debug_symbol): Ditto. * dbxread.c (process_one_symbol): Call record_debugformat with "stabs". * coffread.c (coff_start_symtab): Call record_debugformat with "COFF". * xcoffread.c (read_xcoff_symtab): Call record_debugformat with "XCOFF". * dwarfread.c (read_file_scope): Call record_debugformat with "DWARF 1". * dwarf2read.c (read_file_scope): Call record_debugformat with "DWARF 2". * dstread.c (dst_end_symtab): Set debugformat to be "Apollo DST". * mdebugread.c (new_symtab): Set debugformat to be "ECOFF".
1996-10-08Just some cleanups noticed while working on PR 10760Fred Fish1-6/+16
* dbxread.c (dbx_symfile_read): Call free_pending_blocks rather than poking global variable (which is now static). * hpread.c (hpread_build_psymtabs): Ditto. * os9kread.c (os9k_symfile_read): Ditto. * xcoffread.c (xcoff_initial_scan): Ditto. * buildsym.h (free_pending_blocks): Declare here. (pending_blocks): Remove declaration of global symbol. (free_pendings): Remove declaration of global symbol. (make_blockvector): Declare here. (record_pending_block): Declare here. * dstread.c (make_blockvector): Remove static copy that was old clone of version in buildsym.c. (process_dst_block): Call record_pending_block rather than doing it by hand. (read_dst_symtab): Ditto. * buildsym.c (make_blockvector): Make global rather than static, (record_pending_block): New function, code moved from finish_block. (finish_block): Use record_pending_block. (free_pending_blocks): New function. (really_free_pendings): Call free_pending_blocks. (pending_blocks): Make static instead of global. (free_pendings): Make static instead of global.
1996-01-08 * buildsym.c (end_symtab): Remove sort_pending and sort_linevecJeff Law1-2/+2
arguments. Sorting is now dependent on OBJF_REORDERED. All callers/references changed. * dbxread.c (read_ofile_symtab): Correctly determine value for last_source_start_addr for reordered executables. (process_one_symbol): Handle N_FUN with no name as an end of function marker. * partial-stab.h (case N_FN, N_TEXT): Don't assume CUR_SYMBOL_VALUE is the high text address for a psymtab. (case N_SO): Likewise. (case N_FUN): Handle N_FUN with no name as an end of function marker. * minsyms.c (lookup_minimal_symbol_by_pc): Examine all symbols at the same address rather than a random subset of them. * coffread.c (coff_symfile_init): Set OBJF_REORDERED. * elfread.c (elf_symfile_init): Similarly. * somread.c (som_symfile_init): Similarly. * xcoffread.c (xcoff_symfile_init): Similarly. Support for debugging reordered executables. Remaining mentor vm changes.
1995-12-21 * defs.h: Delete extraneous whitespace at end of file.Fred Fish1-3/+3
* symfile.h: Move #include of demangle.h outside conditional. * objfiles.h (struct objstats, OBJSTAT, OBJSTATS): New struct and macros to hold per-objfile statistics for internal instrumentation. (struct objfile): Add OBJSTATS member, which is optional. * buildsym.h (next_symbol_text_func): Now takes objfile argument. Also update copyright to 1995. * dbxread.c (dbx_next_symbol_text): Now takes objfile argument. (dbx_symfile_init, coffstab_build_psymtabs, elfstab_build_psymtabs, stabsect_build_psymtabs): Accumulate string table size. (dbx_next_symbol_text, read_dbx_symtab, read_ofile_symtab): Accumulate number of stabs symbols read. * dwarfread.c (new_symbol, symthesize_typedef): Accumulate number of full symbols created. * gdbtypes.c (alloc_type): Accumulate number of types. * maint.c (maintenance_print_statistics): New function. * mdebugread.c (mdebug_next_symbol_text): Now takes objfile argument. * minsyms.c (prim_record_minimal_symbol_and_info): Accumulate number of minimal symbols read. * os9kread.c (read_os9k_psymtab): next_symbol_text takes objfile arg. * partial-stab.h: next_symbol_text takes objfile arg. * stabsread.c (error_type, STABS_CONTINUE): Now takes objfile arg and uses it to call next_symbol_text. * symfile.c (add_psymbol_to_list, add_psymbol_addr_to_list): Accumulate number of partial symbols created. * symfile.h (ADD_PSYMBOL_VT_TO_LIST): Accumulate number of partial symbols created. * symmisc.c (print_objfile_statistics): Print the per-objfile internal instrumentation statistics gathered. * xcoffread.c (xcoff_next_symbol_text): Now takes objfile argument.
1995-08-02Update FSF address.Fred Fish1-1/+1
1993-08-24 * buildsym.h: Remove declaration of dbxread.c functions.Jim Kingdon1-12/+0
* stabsread.h: Group together dbxread.c functions. Move elfstab_build_psymtabs here from symfile.h. Declare pastab_build_psymtabs. * elfread.c, paread.c: Include stabsread.h (for stabsread_new_init declaration, etc).
1993-06-18 * buildsym.h: Doc fix for processing_acc_compilation.Jim Kingdon1-1/+5
1993-03-26 * Clean up xcoff relocation.Jim Kingdon1-1/+1
objfiles.h (struct objfiles): Add section_offsets, num_sections. symfile.c (syms_from_objfile), xcoffread.c (xcoff_symfile_offsets): Set them. symtab.h (struct general_symbol_info): Add section field. minsyms.c (prim_record_minimal_symbol{,_and_info}): Set it. xcoffread.c: Set section for symbols and msymbols. (struct symtab): Add block_line_section field. buildsym.c (end_symtab): Set it. (end_symtab and callers): Add section parameter. objfiles.c (objfile_relocate): New funciton. xcoffexec.c (vmap_symtab): Use it. xcoffsolib.h (struct vmap): Remove unused fields. config/rs6000/tm-rs6000.h, stack.c, xcoffexec.c: Remove CORE_NEEDS_RELOCATION, symtab_relocated. config/rs6000/tm-rs6000.h: Remove use of loadinfotext. rs6000-tdep.c: Make loadinfotext static. breakpoint.c (fixup_breakpoints): Doc fix. symtab.h (struct symtab), config/rs6000/tm-rs6000.h, buildsym.c (end_symtab): primary field replaces nonreloc.
1992-12-23 * defs.h (STRCMP, STREQ, STREQN): New macros.Fred Fish1-0/+1
* defs.h (demangle_and_match): Remove prototype. * dwarfread.c (STREQ, STREQN): Remove macros, replaced with STREQ and STREQN defined in defs.h. * dwarfread.c (set_cu_language): For completely unknown languages, try to deduce the language from the filename. Retain behavior that for known languages we don't know how to handle, we use language_unknown. * dwarfread.c (enum_type, symthesize_typedef): Initialize language and demangled name fields in symbol. * dwarfread.c, mipsread.c, partial-stab.h: For all usages of ADD_PSYMBOL_TO_LIST, add language and objfile parameters. * dwarfread.c (new_symbol): Attempt to demangle C++ symbol names and cache the results in SYMBOL_DEMANGLED_NAME for the symbol. * elfread.c (STREQ): Remove macro, use STREQ defined in defs.h. Replace usages throughout. * elfread.c (demangle.h): Include. * elfread.c (record_minimal_symbol): Remove prototype and function. * gdbtypes.h, symtab.h (B_SET, B_CLR, B_TST, B_TYPE, B_BYTES, B_CLRALL): Moved from symtab.h to gdbtypes.h. * infcmd.c (jump_command): Remove code to demangle name and add it to a cleanup list. Now just use SYMBOL_DEMANGLED_NAME. * minsyms.c (demangle.h): Include. * minsyms.c (lookup_minimal_symbol): Indent comment to match code. * minsyms.c (install_minimal_symbols): Attempt to demangle symbol names as C++ names, and cache them in SYMBOL_DEMANGLED_NAME. * mipsread.c (psymtab_language): Add static variable. * stabsread.c (demangle.h): Include. * stabsread.c (define_symbol): Attempt to demangle C++ symbol names and cache them in the SYMBOL_DEMANGLED_NAME field. * stack.c (return_command): Remove explicit demangling of name and use of cleanups. Just use SYMBOL_DEMANGLED_NAME. * symfile.c (demangle.h): Include. * symfile.c (add_psymbol_to_list, add_psymbol_addr_to_list): Fix to match macros in symfile.h and allow them to be compiled if INLINE_ADD_PSYMBOL is not true. * symfile.h (INLINE_ADD_PSYMBOL): Default to true if not set. * symfile.h (ADD_PSYMBOL_*): Add language and objfile parameters. Add code to demangle and cache C++ symbol names. Use macro form if INLINE_ADD_PSYMBOL is true, otherwise use C function form. * symmisc.c (add_psymbol_to_list, add_psymbol_addr_to_list): Remove, also defined in symfile.c, which we already fixed. * symtab.c (expensive_mangler): Remove prototype and function. * symtab.c (find_methods): Remove physnames parameter and fix prototype to match. * symtab.c (completion_list_add_symbol): Name changed to completion_list_add_name. * symtab.c (COMPLETION_LIST_ADD_SYMBOL): New macro, adds both the normal symbol name and the cached C++ demangled name. * symtab.c (lookup_demangled_partial_symbol, lookup_demangled_block_symbol): Remove prototypes and functions. * symtab.c (lookup_symbol): Remove use of expensive_mangler, use lookup_block_symbol instead of lookup_demangled_block_symbol. Remove code to try demangling names and matching them. * symtab.c (lookup_partial_symbol, lookup_block_symbol): Fix to try matching the cached demangled name if no match is found using the regular symbol name. * symtab.c (find_methods): Remove unused physnames array. * symtab.c (name_match, NAME_MATCH): Remove function and macro, replaced with SYMBOL_MATCHES_REGEXP from symtab.h. * symtab.c (completion_list_add_symbol): Rewrite to use cached C++ demangled symbol names. * symtab.h: Much reformatting of structures and such to add whitespace to make them more readable, and make them more consistent with other gdb structure definitions. * symtab.h (general_symbol_info): New struct containing fields common to all symbols. * symtab.h (SYMBOL_LANGUAGE, SYMBOL_DEMANGLED_NAME, SYMBOL_SOURCE_NAME, SYMBOL_LINKAGE_NAME, SYMBOL_MATCHES_NAME, SYMBOL_MATCHES_REGEXP, MSYMBOL_INFO, MSYMBOL_TYPE): New macros. * symtab. (struct minimal_symbol, struct partial_symbol, struct symbol): Use general_symbol_info struct. * utils.c (demangle_and_match): Remove, no longer used. * valops.c (demangle.h): Include. * xcoffexec.c (eq): Remove macro, replace usages with STREQ. * blockframe.c, breakpoint.c, c-exp.y, c-valprint.c, dbxread.c, infcmd.c, m2-exp.y, minsyms.c, objfiles.h, solib.c, stack.c, symmisc.c, symtab.c, valops.c: Replace references to minimal symbol fields with appropriate macros. * breakpoint.c, buildsym.c, c-exp.y, c-typeprint.c, c-valprint.c, coffread.c, command.c, convex-tdep.c, cp-valprint.c, dbxread.c, demangle.c, elfread.c, energize.c, environ.c, exec.c, gdbtypes.c, i960-tdep.c, infrun.c, infrun-hacked.c, language.c, main.c, minsyms.c, mipsread.c, partial-stab.h, remote-es1800.c, remote-nindy.c, remote-udi.c, rs6000-tdep.c, solib.c, source.c, sparc-pinsn.c, stabsread.c, standalone.c, state.c, stuff.c, symfile.c, symmisc.c, symtab.c, symtab.h, tm-sysv4.h, tm-ultra3.h, values.c, xcoffexec.c, xcoffread.c: Replace strcmp and strncmp usages with STREQ, STREQN, or STRCMP as appropriate. * breakpoint.c, buildsym.c, c-typeprint.c, expprint.c, findvar.c, mipsread.c, printcmd.c, source.c, stabsread.c, stack.c, symmisc.c, tm-29k.h, valops.c, values.c: Replace SYMBOL_NAME references with SYMBOL_SOURCE_NAME or SYMBOL_LINKAGE_NAME as appropriate. * buildsym.c (start_subfile, patch_subfile_names): Default the source language to what can be deduced from the filename. * buildsym.c (end_symtab): Update the source language in the allocated symtab to match what we have been using. * buildsym.h (struct subfile): Add a language field. * c-typeprint.c (c_print_type): Remove code to do explicit demangling. * dbxread.c (psymtab_language): Add static variable. * dbxread.c (start_psymtab): Initialize psymtab_language using deduce_language_from_filename.
1992-08-06 * buildsym.c (start_subfile): Compact dirname initialization.Fred Fish1-0/+3
* buildsym.c (patch_subfile_names): New function. * buildsym.c (end_symtab): Make copy of dirname on symbol obstack. * buildsym.c (end_symtab): Free all malloc'd subfile fields. * buildsym.h (patch_subfile_names): Add prototype. * dbxread.c (process_one_symbol): Call patch_subfile_names.
1992-07-28 * Makefile.in (VERSION): Bump to 4.6.2.Fred Fish1-147/+55
* Makefile.in (SFILES_MAINDIR): Add stabsread.c * Makefile.in (OBS): Add stabsread.o * Makefile.in (stabsread.o): Add build rule. * stabsread.c, stabsread.h: New files. * buildsym.c: Split out stabs specific support to stabsread.c. * buildsym.h: Split out stabs specific support to stabsread.h. * dbxread.c (stabsread.h): Include * dbxread.c (dbx_new_init): Call stabsread_new_init. * dbxread.c (dbx_psymtab_to_symtab_1): Call stabsread_init. * dbxread.c (read_ofile_symtab): Call end_stabs. * dbxread.c (process_one_symbol): Call end_stabs and start_stabs. * dbxread.c (elfstab_build_psymtabs): Call stabsread_new_init. * dwarfread.c (psymtab_to_symtab_1): Call buildsym_init, add really_free_pendings to cleanups. * elfread.c (elf_new_init): Call stabsread_new_init. * gdbtypes.c: Small changes to maintenance commands. * mipsread.c (stabsread.h): Include. * mipsread.c (psymtab_to_symtab_1): Call end_stabs. * xcoffread.c (stabsread.h): Include. * xcoffread.c (global_stabs): Remove redundant def. * xcoffread.c (read_xcoff_symtab): Call start_stabs and end_stabs.
1992-07-04Relocate symbols using an array of section_offsets, rather than aJohn Gilmore1-4/+4
single `addr' or `offset'. This makes Solaris-2 support work, and permits better VxWorks (and maybe xcoff) support later. See ChangeLog.
1992-06-13* buildsym.h: Add processing_acc_compilation flag.John Gilmore1-0/+3
* buildsym.c (read_sun_builtin_type, read_sun_floating_type): New. (define_symbol): Skip arg types in function entries. Resolve overloaded 'P' which acc uses for prototypes of functions called by this file. (read_type: 'b', 'r'): Handle Solaris2 builtin types. * minsyms.c (prim_record_minimal_symbol_and_info): Hack to save size of ELF symbols. FIXME. * tm-sun4os5.h: Rename to tm-sun4sol2.h. Update defines for Sol2. * xm-sun4os5.h: Rename to xm-sun4sol2.h. Hack more defines. * config/sun4os5.m[ht]: Rename to config/sun4sol2.m[ht]; new xm, tm.
1992-05-01* gdbtypes.c (make_{reference,pointer,function}_type): NewJohn Gilmore1-8/+0
functions which handle overwriting of forward-referenced types for stabs file reading. (lookup_{reference,pointer,function}_type): These just call the make_*_type functions with a null storage alloc parameter. * gdbtypes.h (make_{reference,pointer,function}_type): Declare. * xcoffread.c (smash_to_pointer_type): Remove, no longer used. * buildsym.c (dbx_lookup_type): Zero result for (-1,-1) arg. (dbx_alloc_type): Make it easier to understand. No funct change. (define_symbol: 't'): Don't put the typedef name into the name of the struct, union, or enum. Bugfix. (read_type: '*', '&', 'f'): Add comments. Use make_XXX_type routines to properly handle overwriting preallocated types so that forward references will work. (read_enum_type): Force enum values to file scope, due to bug in Sun compiler output. FIXME, fix later. Remove unused header_file_prev_index mechanism. It was already obsolete in gdb-3.5. These comments appeared in 3.5: /* This code was used before I knew about the instance codes. My first hypothesis is that it is not necessary now that instance codes are handled. */ * dbxread.c (add_new_header_file): Remove header_file_prev_index. * buildsym.h: Remove it and prev_index that saves it. * buildsym.c (push_subfile, pop_subfile, start_symtab): Remove it. * solib.c (special_symbol_handling): When called from core files, must set up debug_addr. Don't print error messages, just return. * symmisc.c (print_symbol): Less ascii diarrhea for enums, please.
1992-04-04* buildsym.h, dbxread.c, mipsread.c: Add objfile arg toStu Grossman1-1/+2
process_one_symbol.
1992-03-21Many changes, most related to creating entry point information on a per-objfileFred Fish1-3/+0
basis. See comments in objfiles.h and details in ChangeLog. Also remove redundant definitions of FRAME_CHAIN_VALID from most of the tm-* files and use a default definition in frame.h.
1992-03-01Forgot these two from previous check-in of rs6000 stuff.Per Bothner1-1/+0
1992-02-22* Check in Fred Fish's changes in these modules. FredJohn Gilmore1-31/+82
will make ChangeLog entries for all of them.
1991-12-27More changes, mostly cleanups from the last set.Per Bothner1-0/+8
Made some more progress in removing duplicate assembly opcode files. More improvements to how mipsread and to a lesser extent dbxread work. See the ChangeLog for details.
1991-12-23Oodles of changes. The most important is adding support for stabsPer Bothner1-0/+8
encapsulated in mips ecoff. See ChangeLog for the gory details.
1991-11-09Add tracking of object files (that contain symbols) to gdb.John Gilmore1-5/+37
This includes a "struct objfile" that owns symtabs and psymtabs that were read in from that binary file. See ChangeLog.
1991-11-04 * infrun.c: Fixed typo in comment.Per Bothner1-2/+0
* utils.c: All the v*fprintf emulation is now in libiberty, so we can get rid of some junk. * xm-sun3os4.h, xm-sun4os4.h, xconfig/decstation, xconfig/i386sco, xconfig/sun3os4, xconfig/sun4os4: Don`t need HAVE_STRSTR any more. * m68k-pinsn.c (print_insn_arg): Support BB/BW/BL type operands, as used by branch instructions. * gmalloc.c: Fix prototype of memcpy. * elfread.c: Comment out register_addr, since it conflicts with the one in coredep.c. * buildsym.h: Remove extern declarations of two functions that are really static in buildsym.c. * tm-mips.h: Add symbolic names for more registers. * mips-xdep.c (store_inferior_registers): Use new register names. * xm-mips.h: Simplify REGISTER_U_ADDR, since it is now only used for core files, not ptrace. Therefore, the KERNEL_U_ADDR hack is no longer needed. The mapping to ptrace number is now in in mips-xdep.c. * mips-xdep.c: Define REGISTER_PTRACE_ADDR (using the mapping from the old REGISTER_U_ADDR), and use it in {fetch,store}_inferior_registers. * mipsread.c: Rename #include ecoff.h to new name coff-mips.h. * mips-tdep.c (mips_push_dummy_frame, mips_pop_frame): Save/restore FP regs correctly (?). * dbxread.c: Remove duplicate define_symbol and type_synonym_name (these had been previously moved to buildsym.c). Hence, define_symbol becomes extern instead of static. * buildsym.c (read_struct_type): Comment out bogus handling of C++ operator methods. Minor hacking of reading of class contexts. Make define_symbol non-static, so dbxread.c can call it.
1991-10-27* buildsym.c: Break out initial malloc sizes.John Gilmore1-19/+11
(record_line): Record directly in a subfile. Alloc on demand. (compare_line_numbers): Add from xcoffread.c. (end_symtab): New params say whether to sort pendings and linetable. Patch block stabs if defined. Shrink linetable before allocating the symtab. * buildsym.h: Delete line_vector* and prev_line_number. Add global_stabs and file_stabs for xcoffread. * dbxread.c (start_subfile): Move to buildsym. Change above calls. * symtab.h: LINETABLE(symtab) can now be null. Zap LINELIST. * symmisc.c, symtab.c: Cope with null LINETABLEs.
1991-10-26Break out symbol-table-building routinesJohn Gilmore1-0/+274
from dbxread.c, so they can be shared with xcoffread.c.