aboutsummaryrefslogtreecommitdiff
path: root/gdb/symtab.h
AgeCommit message (Collapse)AuthorFilesLines
2002-06-28* Makefile.in (objfiles_h): Add $(bcache_h).Andrew Cagney1-1/+0
* objfiles.h: Include "bcache.h". * Makefile.in (symtab_h): Remove $(bcache_h). * symtab.h: Do not include "bcache.h".
2002-05-15Add macro structures to GDB's symbol tables. Nobody puts anythingJim Blandy1-0/+5
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.
2002-04-242002-04-24 David S. Miller <davem@redhat.com>David S. Miller1-4/+0
* symtab.h (find_stab_function_addr): Kill extern. * minsyms.c (find_stab_function_addr): Remove from here... * dbxread.c: ... to here, and mark it static.
2002-04-092002-04-09 Daniel Jacobowitz <drow@mvista.com>Daniel Jacobowitz1-2/+6
* symtab.h (ALL_BLOCK_SYMBOLS): Don't dereference the pointer after the last symbol in a block.
2002-03-27* symtab.h (SYMBOL_INIT_MANGLED_NAME): Turn this macro's body intoJim Blandy1-67/+5
a function; leave this macro here to invoke that function. (symbol_init_mangled_name): Declaration for that function. * symtab.c (symbol_init_mangled_name): New function.
2002-03-222002-03-22 Daniel Jacobowitz <drow@mvista.com>Daniel Jacobowitz1-0/+1
* symtab.h (lookup_block_symbol): Add mangled_name argument to prototype. * symmisc.c (maintenance_check_symtabs): Call lookup_block_symbol with new mangled_name argument. * linespec.c (decode_line_1): Likewise. * valops (value_of_this): Likewise. * symtab.c (lookup_transparent_type): Likewise. (lookup_symbol_aux): Likewise. Accept new mangled_name argument. (lookup_symbol): If we are given a mangled name, pass it down to lookup_symbol_aux. (lookup_block_symbol): If we are given a mangled name to check against, only return symbols which match it.
2002-02-22Approved by Jim Blandy (jimb@redhat.com).Fred Fish1-1/+4
2002-02-21 Fred Fish <fnf@redhat.com> * dbxread.c (process_one_symbol): When finding an N_FUN symbol that marks the end of the range of a function, enter a line number entry that has a line number of zero and a PC offset that matches the end of the function. This starts a range of PC's for which no line number information is known. * symtab.c (find_pc_sect_line): If our best fit is in a range of PC's for which no line number info is found (line number is zero) then we didn't find any valid line information. * symtab.h: Document use of zero line number entry.
2001-12-21 * configure, config.in: Rebuilt.Tom Tromey1-0/+4
* configure.in: Check for realpath. * defs.h (gdb_realpath): Declare. * symtab.h (partial_symtab): Added fullname field. * source.c (openp): Use gdb_realpath. (forget_cached_source_info): Clear full name of each partial symtab. * utils.c (gdb_realpath): New function. * symtab.c (lookup_symtab): Removed. (lookup_symtab_1): Renamed to lookup_symtab. (lookup_symtab): Look for real path. (lookup_partial_symtab): Likewise.
2001-10-122001-10-12 Daniel Jacobowitz <drow@mvista.com>Daniel Jacobowitz1-0/+8
* symtab.h (struct block): (ALL_BLOCK_SYMBOLS): New macro. * symtab.c (find_pc_sect_symtab): Use ALL_BLOCK_SYMBOLS. (make_symbol_completion_list): Likewise. (make_symbol_overload_list): Likewise. * buildsym.c (finish_block): Likewise. * breakpoint.c (get_catch_sals): Likewise. * mdebugread.c (mylookup_symbol): Likewise. * objfiles.c (objfile_relocate): Likewise. * printcmd.c (print_frame_args): Likewise. * stack.c (print_block_frame_locals): Likewise. (print_block_frame_labels): Likewise. (print_frame_arg_vars): Likewise. * symmisc.c (dump_symtab): Likewise. * tracepoint.c (add_local_symbols): Likewise. (scope_info): Likewise. 2001-10-12 Daniel Jacobowitz <drow@mvista.com> * mi-cmd-stack.c (list_args_or_locals): Use ALL_BLOCK_SYMBOLS. 2001-10-12 Daniel Jacobowitz <drow@mvista.com> * generic/gdbtk-cmds.c (gdb_listfuncs): Use ALL_BLOCK_SYMBOLS. * generic/gdbtk-stack.c (gdb_block_vars): Likewise. (gdb_get_blocks): Likewise. (gdb_get_vars_command): Likewise. 5~
2001-07-07* symtab.c (main_name): New function.Andrew Cagney1-0/+7
(set_main_name): New function. * symtab.h: Declare. * TODO: Update From 2000-03-05 Anthony Green <green@redhat.com>: * dbxread.c (process_one_symbol): Handle the N_MAIN stab by setting main_name. * blockframe.c (inside_main_func): Use main_name instead of "main". * symtab.c (find_main_psymtab): Ditto. * source.c (select_source_symtab): Ditto. * nlmread.c (nlm_symfile_read): Ditto. * rs6000-tdep.c (skip_prologue): Ditto.
2001-06-12s/char */const char */Andrew Cagney1-2/+2
2001-06-11 * completer.c (gdb_completer_loc_break_characters): New variable.Eli Zaretskii1-0/+4
(line_completion_function): If we are completing on locations, back up the start of word pointer past all characters which can appear in a location spec. (location_completer): New function. * completer.h: Add prototype for location_completer. * symtab.c (make_source_files_completion_list) (add_filename_to_list, not_interesting_fname): New functions. (filename_seen): New function, body extracted from output_source_filename. (output_source_filename): Call filename_seen to check if the file was already printed. (make_symbol_completion_list): If TEXT includes a double-quoted string, return an empty list, not NULL. (make_file_symbol_completion_list): New function, similar to make_symbol_completion_list but with an additional argument SRCFILE. * symtab.h (make_file_symbol_completion_list) (make_source_files_completion_list): Add prototypes. * breakpoint.c (_initialize_breakpoint): Make location_completer be the completion function for all commands which set breakpoints and watchpoints. (top-level): #include "completer.h". * tracepoint.c (_initialize_tracepoint): Make location_completer be the completion function for the "trace" command. (top-level): #include "completer.h". * printcmd.c (_initialize_printcmd): Make location_completer be the completion function for the "print", "inspect", "call", and "disassemble" commands. (top-level): #include "completer.h". * infcmd.c (_initialize_infcmd): Make location_completer be the completion function for the "go", "jump", and "until" commands. (top-level): #include "completer.h".
2001-04-27(Changes from Daniel Berlin, with revisions by Jim Blandy.)Jim Blandy1-24/+0
Abstract out operations specific to particular C++ ABI's, and invoke them through a function table. This removes the C++ ABI dependencies scattered throughout the code, and allows us to cleanly add support for new C++ ABI's. * cp-abi.h, cp-abi.h, gnu-v2-abi.c, hpacc-abi.c: New files. * c-typeprint.c, c-valprint.c, dbxread.c, eval.c, gdbtypes.c, jv-typeprint.c, linespec.c, symtab.c, typeprint.c, valops.c: #include "cp-abi.h". These files all use functions now declared there. * symtab.h (OPNAME_PREFIX_P, VTBL_PREFIX_P, DESTRUCTOR_PREFIX_P): Deleted. These services are now provided by functions declared in cp-abi.h. * value.h (value_rtti_type, value_virtual_fn_field): Same. * values.c (value_virtual_fn_field): Same, for this definition. * valops.c (value_rtti_type): Same. * c-typeprint.c (c_type_print_base): Use the functions from "cp-abi.h", instead of the old macros, or hard-coded ABI-specific tests. * dbxread.c (record_minimal_symbol): Same. * gdbtypes.c (get_destructor_fn_field, virtual_base_index, virtual_base_index_skip_primaries): Same. * jv-typeprint.c (java_type_print_base): Same. * linespec.c (find_methods, decode_line_1): Same. * symtab.c (gdb_mangle_name): Same. * Makefile.in (SFILES): Add the new .c files mentioned above. (cp_abi_h): New variable. (COMMON_OBS): Add gnu-v2-abi.o, hpacc-abi.o, and cp-abi.o. (cp-abi.o, gnu-v2-abi.o, hpacc-abi.o): New targets. (c-typeprint.o, c-valprint.o, dbxread.o, eval.o, gdbtypes.o, jv-typeprint.o, symtab.o, linespec.o, typeprint.o, valops.o): Add dependency on $(cp_abi_h).
2001-03-072001-03-06 J.T. Conklin <jtc@redback.com>J.T. Conklin1-5/+0
* symtab.h (decode_line_1): Removed declaration. * symfile.c (#include <assert.h>): Removed. * arch-utils.c (#include <ctype.h>): Removed. * c-typeprint.c: Likewise. * dbxread.c: Likewise. * gdbtypes.c: Likewise. * target.c: Likewise. * os9kread.c: Likewise. * c-valprint.c (#include "demangle.h"): Removed. * ch-typeprint.c: Likewise. * eval.c: Likewise. * f-typeprint.c: Likewise. * f-valprint.c: Likewise. * m2-typeprint.c: Likewise. * typeprint.c: Likewise. * p-typeprint.c: Likewise. * valarith.c: Likewise. * valprint.c: Likewise. * m2-typeprint.c (#include "gdb_string.h"): Removed. * nlmread.c: Likewise. * mdebugread.c (#include "gdb-stabs.h"): Removed. * minsyms.c: Likewise. * mipsread.c: Likewise. * nlmread.c: Likewise. * m2-typeprint.c (#include "obstack.h"): Removed. * m2-valprint.c: Likewise. * event-loop.c (#include <setjmp.h>): Removed.
2001-03-06Update/correct copyright notices.Kevin Buettner1-1/+2
2001-02-08Add __FILE__ and __LINE__ parameter to internal_error() /Andrew Cagney1-2/+3
internal_verror().
2001-02-02Changed free() to xfree() where appropriate. Also changed Copyright toJohn R. Moore1-5/+5
include 2001.
2000-11-102000-11-10 Fernando Nasser <fnasser@totem.toronto.redhat.com>Fernando Nasser1-2/+8
* symtab.c (decode_line_1, total_number_of_methods, find_methods, build_command_line_spec, find_toplevel_char, decode_line_2): Move to linespec.c. * linespec.c: New file. Routines that handle linespecs, formerly in symtab.c. * symtab.h: Export find_line_symtab and find_function_start_sal, * Makefile.in: Add linespec.c.
2000-10-27Corrected spelling errors in comments.David Anderson1-2/+2
gdbarch.{c,sh} removed a word from a comment.
2000-10-122000-10-12 Elena Zannoni <ezannoni@kwikemart.cygnus.com>Elena Zannoni1-10/+4
From Daniel Berlin <dberlin@redhat.com> : * symtab.h (SYMBOL_INIT_DEMANGLED_NAME): Initialize the symbol language to auto instead of unknown, so it will try to demangle the symbol. * symtab.h (OPNAME_PREFIX_P): Change operator prefix to correct value. * symtab.c (gdb_mangle_name): Properly handle C++ operators.
2000-08-072000-08-07 Elena Zannoni <ezannoni@kwikemart.cygnus.com>Elena Zannoni1-1/+3
* objfiles.h (SECT_OFF_BSS): Don't detect invalid sect_index_bss here, let the users of the macro do it. * symtab.h (ANOFFSET): Detect here if the section index is not initialized. * xcoffread.c (find_targ_sec): Don't treat .bss as special, because some objfiles may not have that section at all. * coffread.c (cs_to_section): Ditto. * elfread.c (elf_symtab_read): Detect an uninitialized index value. (elfstab_offset_sections): The macro ANOFFSET cannot be used as an lvalue anymore. * remote.c (get_offsets, remote_cisco_objfile_relocate): Don't use ANOFFSET as an lvalue. * objfiles.c (objfile_relocate, objfile_relocate): Don't use ANOFFSET as an lvalue. * symfile.c (default_symfile_offsets): Don't use ANOFFSET as an lvalue.
2000-08-04Fixup SYMBOL_SECTION for objfiles_relocate().Kevin Buettner1-0/+4
2000-06-05C++ improvementsDaniel Berlin1-2/+3
2000-06-04Eliminate PARAMS from function pointer declarations.Kevin Buettner1-1/+1
2000-05-29Purge symtab of make_cleanup_func.Andrew Cagney1-0/+1
Pass correct arg to make_cleanup_free_search_symbols.
2000-05-28PARAMS removal.Kevin Buettner1-146/+96
2000-05-16Cleanup discard_minimal_symbols cleanup.Andrew Cagney1-2/+1
2000-04-03Delete add_minsym_to_demangled_hash_table from symtabs.h. Static function.Andrew Cagney1-7/+4
2000-03-30demangled symbol lookup fixesDaniel Berlin1-4/+7
2000-03-21Make sure section addresses from a shared object are correctly set inKevin Buettner1-24/+0
a new struct objfile.
2000-03-14Formatting fix.Jim Blandy1-4/+2
2000-03-07From Tom Tromey <tromey@cygnus.com> and Keith Seitz <?>:Jim Blandy1-0/+21
* minsyms.c: #include <ctype.h>, for msymbol_hash_iw. (compact_minimal_symbols): Added `objfile' argument. Put symbols in the objfile's hash table. (install_minimal_symbols): Put symbols in the objfile's demangled hash table. (lookup_minimal_symbol): Use hash table to find symbol in objfile. (msymbol_hash_iw, msymbol_hash, add_minsym_to_hash_table): New functions. (prim_record_minimal_symbol_and_info): Initialize the hash link fields of the new minimal symbol. * symtab.h (struct minimal_symbol): New fields `hash_next', `demangled_hash_next'. (msymbol_hash_iw, msymbol_hash, add_minsym_to_hash_table): Declare. * objfiles.h (MINIMAL_SYMBOL_HASH_SIZE): New define. (struct objfile): New fields `msymbol_hash', `msymbol_demangled_hash'.
1999-10-12import gdb-1999-10-11 snapshotJason Molenda1-1/+1
1999-10-05import gdb-1999-10-04 snapshotJason Molenda1-1/+21
1999-09-22import gdb-1999-09-21Jason Molenda1-1/+1
1999-09-09import gdb-1999-09-08 snapshotStan Shebs1-1/+1
1999-07-07import gdb-1999-07-07 post reformatJason Molenda1-504/+512
1999-04-26import gdb-19990422 snapshotStan Shebs1-4/+0
1999-04-16Initial creation of sourceware repositorygdb-4_18-branchpointStan Shebs1-0/+1477
1999-04-16Initial creation of sourceware repositoryStan Shebs1-1485/+0
1998-12-28hp merge changes -- too numerous to mention here; see ChangeLog andDavid Taylor1-4/+58
ChangeLog-gdbtk for details.
1998-10-141998-10-13 Jason Molenda (jsm@bugshack.cygnus.com)Jason Molenda1-47/+104
* blockframe.c (find_pc_sect_partial_function): Add braces to avoid possible nested-if confusion. * breakpoint.c (breakpoint_here_p): Ditto. (breakpoint_inserted_here_p): Ditto. (breakpoint_thread_match): Ditto. * gnu-regex.c: Define _REGEX_RE_COMP only if it isn't already defined. * gnu-regex.h: Define _REGEX_RE_COMP to pick up old compatability prototypes. * symtab.h: Add prototype for _initialize_source. * value.h: Add prototype for _initialize_value. * defs.h: Include sys/types.h or stddef.h to get size_t. (make_cleanup): Add make_cleanup_func typedef and switch to using a prototype for this function. (mfree): Add prototypes for mmalloc, mrealloc, mfree if we aren't using mmalloc. * ax-gdb.c breakpoint.c coffread.c corelow.c dbxread.c dwarf2read.c dwarfread.c elfread.c eval.c exec.c gdbtk-cmds.c gdbtk.c infcmd.c infrun.c mipsread.c nlmread.c os9kread.c parse.c printcmd.c symfile.c symmisc.c symtab.c thread.c top.c tracepoint.c typeprint.c valops.c: Cast parameters passed to make_cleanup to use the new make_cleanup_func typedef. More warning cleanups. There are still a bunch of places where the first argument to make_cleanup is not cast to (make_cleanup_func); these are either due to the function fitting the make_cleanup_func specification already (e.g. free()) or they are in files that weren't compiled when I did my make on a Linux native system. Bwahahaha. You can see them like this: grep make_cleanup\ * | grep -v make_cleanup_func I'll surely go back and clean up the remaining suspicious calls in GDB one of these days. :-)
1997-09-08 * dbxread.c, buildsym.c, symtab.c, stabsread.c: Add support forDawn Perchik1-2/+52
reading stabs extensions for live range information. * stabsread.h, partial-stab.h: Add prototypes for new functions. * symtab.h: Add structure for storing live range information.
1997-06-28 * buildsym.h (struct subfile): Add debugformat member.Fred Fish1-0/+7
(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".
1997-06-13 * defs.h (perror_with_name): Is a NORETURN function.Fred Fish1-6/+94
* utils.c (perror_with_name): Is a NORETURN function. (error): Is NORETURN independently of ANSI_PROTOTYPES. * symtab.c (fixup_symbol_section): Remove prototype. * symtab.h: (fixup_symbol_section): Add prototype. * m32r-rom.c (report_transfer_performance): Add prototype. * sparclet-rom.c: Ditto. * dsrec.c: Ditto. * c-exp.y (parse_number): Cast args to float* or double* as appropriate for conversion format. * java-exp.y (parse_number): Ditto. * Makefile.in (c-exp.tab.c): Remove #line lines that refer to nonexistant y.tab.c file. (java-exp.tab.c): Ditto. (f-exp.tab.c): Ditto. (m2-exp.tab.c): Ditto. start-sanitize-gdbtk * gdbtk.c (gdbtk_init): Make truth value test explicit. Remove unused static variable "Gdbtk_Library". end-sanitize-gdbtk
1996-07-03 * coffread.c, dbxread.c, elfread.c, mipsread.c, nlmread.c,Mark Alexander1-0/+12
os9kread.c: Replace identical sym_offsets functions with default_symfile_offsets. * somread.c (som_symfile_offsets): Use new SIZEOF_SECTION_OFFSETS macro to allocate section_offsets. * symfile.c (default_symfile_offsets): New function. * symfile.h: Declare default_symfile_offsets. * symtab.h: Define SIZEOF_SECTION_OFFSETS macro to simplify allocation of section_offsets.
1996-02-16 * bcache.c, bcache.h: New files to implement a byte cache.Fred Fish1-0/+1
* Makefile.in (SFILES): Add bcache.c. (symtab_h): Add bcache.h. (HFILES_NO_SRCDIR): add bcache.h (COMMON_OBJS): Add bcache.o (bcache.o): New target. * dbxread.c (start_psymtab): Make global_syms & static_syms type "partial_symbol **". * hpread.c (hpread_start_symtab): Ditto. * os9kread.c (os9k_start_psymtab): Ditto. * stabsread.h (start_psymtab): Ditto. * {symfile.c, symfile.h} (start_psymtab_common): Ditto. * maint.c (maintenance_print_statistics): Call print_symbol_bcache_statistics. * objfiles.c (allocate_objfile): Initialize psymbol bcache malloc and free pointers. * solib.c (allocate_rt_common_objfile): Ditto. * symfile.c (reread_symbols): Ditto. (free_objfile): Free psymbol bcache when objfile is freed. (objfile_relocate): Use new indirect psymbol pointers. * objfiles.h (struct objfile): Add psymbol cache. * symfile.c (compare_psymbols): Now passed pointers to pointers to psymbols. (reread_symbols): Free psymbol bcache when freeing other objfile resources. (add_psymbol_to_list, add_psymbol_addr_to_list): Initialize new psymbol using the psymbol bcache. (init_psymbol_list): Psymbol lists now contain pointers rather than the actual psymbols. * symfile.h (psymbol_allocation_list): Psymbol lists now dynamically grown arrays of pointers. (ADD_PSYMBOL_VT_TO_LIST): Initialize new symbol using the psymbol bcache. * symmisc.c (print_partial_symbols): Now takes pointer to pointer to partial symbol. (print_symbol_bcache_statistics): New function to print per objfile bcache statistics. (print_partial_symbol, print_partial_symbols, maintenance_check_symtabs, extend_psymbol_list): Account for change to pointer to pointer to partial symbol. * symtab.c (find_pc_psymbol, lookup_partial_symbol, decode_line_2, make_symbol_completion_list): Account for change to pointer to pointer to partial symbol. * symtab.h (bcache.h): Include. * xcoffread.c (xcoff_start_psymtab): Make global_syms & static_syms type "partial_symbol **".
1996-02-16 * demangle.c (is_cplus_marker): New function, checks if aFred Fish1-4/+9
character is one of the commonly used C++ marker characters. * defs.h (is_cplus_marker): Add prototype. * c-typeprint.c (c_type_print_base), ch-lang.c (chill_demangle), cp-valprint.c (cp_print_class_method), mdebugread.c (parse_symbol), stabsread.c (define_symbol, read_member_functions, read_struct_fields), symtab.h (OPNAME_PREFIX_P, VTBL_PREFIX_P, DESTRUCTOR_PREFIX_P), values.c (vb_match): Use is_cplus_marker instead of comparison with CPLUS_MARKER.
1996-01-04 * symtab.h (namespace enum): becomes typedef to avoid namespaceSteve Chamberlain1-8/+20
collision in C++. * infcmd.c (path_command): Use empty string if PATH name not set. * i386-tdep.c (skip_trampoline_code): New function. * srec.c: Renamed dsrec.c to avoid filename collision. * Makefile.in: Cope with renaming. Update copyrights to 1996.
1995-10-24 * infrun.c (wait_for_inferior): Disable questionable code nearStu Grossman1-20/+42
the step range test. Replace call detection test with much simpler (and more efficient) test that doesn't require prologue examination (as often). * symtab.c symtab.h (in_prologue): New function that indicates whether or not we are in a function prologue. This uses the symbol table, and then falls back to prologue examination if that fails. It's much more efficient for remote debugging because it avoids examining memory, which is very slow. This is used in wait_for_inferior to determine if we've made a function call that needs to be skipped over (for next/nexti). * mips-tdep.c (after_prologue): New function, returns the PC after the prologue. Uses PDRs and the symbol table. (mips_find_saved_regs): Use in_prologue() to avoid costly prologue examination if possible. (mips_skip_prologue): Use after_prologue() if possible to avoid costly prologue examination.