aboutsummaryrefslogtreecommitdiff
path: root/gdb/dbxread.c
AgeCommit message (Collapse)AuthorFilesLines
1993-09-02 * symtab.c, symfile.c, c-exp.y, ch-exp.y, m2-exp.y, buildsym.c,Jim Kingdon1-3/+1
symfile.h, stabsread.c, minsyms.c, solib.c, nlmread.c, dwarfread.c partial-stab.h, symmisc.c, gdbtypes.c: Lint. Remove (or put inside #if) unused variables and labels. Fix unclosed comment. Deal with enumeration values unhandled in switch statements. Make sure non-void functions return values. Include appropriate headers. * dbxread.c (elfstab_build_psymtabs): Don't check for unsigned value < 0.
1993-09-01bzero -> memsetK. Richard Pixley1-2/+2
1993-08-30 * stabsread.h, dbxread.c (end_psymtab): Return NULL if the psymtabPeter Schauer1-11/+8
was empty and thrown away. * mipsread.c (parse_partial_symbols): Do not add empty psymtabs to dependency list, skip self dependencies. * mipsread.c (parse_fdr): Removed, obsolete. * mipsread.c (parse_lines): Check for cbLine being zero, not cbLineOffset. * mipsread.c (struct symloc): Add pst_language. * mipsread.c (parse_partial_symbols): Set up proper language for header files, save it in pst_language for psymtab_to_symtab_1. * mipsread.c (psymtab_to_symtab_1): Use pst_language.
1993-08-23Write ChangeLog entry for sef changes.Jim Kingdon1-13/+0
Remove dbxread.c change; I handle this in BFD by making the name start with "a.out".
1993-08-23Add support for netbsd386 (almost-but-not-quite 386bsd).Sean Eric Fagan1-5/+35
1993-07-27 * breakpoint.c (breakpoint_1): Walk the breakpoint chain to decide ifPeter Schauer1-7/+7
we have breakpoints or watchpoints as we might have to ignore internal breakpoints. Fix gdb core dumps after `file newfile' commands. * symtab.h, symfile.c (clear_symtab_users): New routine which unconditionally clears symtab users. clear_symtab_users_once commented out as it was a noop anyway. * objfiles.c (free_objfile): Don't call clear_symtab_users_once. * objfiles.c (free_all_objfiles), symfile.c (new_symfile_objfile), xcoffexec.c (exec_close): Call clear_symtab_users if necessary. * symfile.c (syms_from_objfile): Install cleanups for errors during symbol reading. * coffread.c, dbxread.c, mipsread.c, xcoffread.c (*_symfile_read): Lint cleanup code, call do_cleanups explicitly. * symfile.c (symbol_file_add): Call new_symfile_objfile and reinit_frame_cache _after_ the new symbols are read in.
1993-07-27 * dbxread.c (process_one_symbol): Deal with SunOS4 acc N_STSYM andJim Kingdon1-1/+1
N_GSYM functions.
1993-07-26 * hppa-tdep.c: Remove all uses of use_unwind and `set use_unwind'Jim Kingdon1-78/+131
command. Now we use unwind info by default if we can find it. * config/sparc: Move VARIABLES_INSIDE_BLOCK and SUN_FIXED_LBRAC_BUG to tm-sparc.h so they are shared between Solaris and SunOS4. * dbxread.c (process_one_symbol): Deal with SunOS4 acc N_STSYM and N_GSYM functions.
1993-07-12improve comment about Sun accJim Kingdon1-24/+42
1993-06-23 * dbxread.c (copy_pending): Change name and function of begi argumentJim Kingdon1-7/+14
to endi, since that is what the caller needs.
1993-06-21 * config/i386/*aix*, i386aix-nat.c: New files.Jim Kingdon1-9/+12
* configure.in: Use them. * alldeps.mak: List them. * coffread.c (decode_base_type): Deal with anonymous enum type. * i387-tdep.c (print_387_status_word): Add comment re "top". * i386-tdep.c [I386_AIX_TARGET] (i386_extract_return_value): New func. * dbxread.c: Use SEEK_SET and SEEK_CUR, not L_*. Define them if and only if not defined by a header file. * mipsread.c: Don't define L_SET or L_INCR.
1993-06-13 * dbxread.c (process_one_symbol): If SUN_FIXED_LBRAC_BUG is notJim Kingdon1-10/+25
defined, don't worry about Sun's silly LBRAC bug. * dbxread.c (process_one_symbol): If there's a symbol before an N_SO, don't error(). (case N_BCOMM): complain () not error ().
1993-06-13 * dbxread.c (process_one_symbol): Set n_opt_found based on whetherJim Kingdon1-12/+11
a non-gcc N_OPT symbol is found. Make SUN_FIXED_LBRAC_BUG a macro which returns 0 or 1 to say whether to do it. * config/sparc/sun4{sol2,os4}.h (SUN_FIXED_LBRAC_BUG,VARIABLES_INSIDE_BLOCK): Use n_opt_found so the right thing happens for both acc and SunOS4 /bin/cc.
1993-06-11 * dbxread.c (process_one_symbol): Rather than havingJim Kingdon1-51/+62
BLOCK_ADDRESS_FUNCTION_RELATIVE a macro, make it a variable which is true if we are doing stabs-in-elf, false otherwise. config/sparc/tm-sun4sol2.h: Don't define it.
1993-05-30 * dbxread.c (read_ofile_symtab): Remove "#if 1" around code toFred Fish1-5/+1
set demangling style automatically. * defs.h (CPLUS_MARKER): Clarify comment that this is only for GNU C++, not C++ in general. * symtab.h (general_symbol_info): Simplify by eliminating one structure level for the language dependent info.
1993-04-15* dbxread.c (unknown_symchar_complaint): Add new complaint.John Gilmore1-25/+51
* stabsread.c: Declare it. * partial-stab.h: Use it. * utils.c (malloc_botch): Don't forward-declare if NO_MMALLOC.
1993-03-04 * dbxread.c (dbx_symfile_init): Make size of the string tableFred Fish1-35/+44
size field a define (DBX_STRINGTAB_SIZE_SIZE). Ensure that the offset to the string table is nonzero and handle the nonexistant string table case, should it occur. Ensure that the string table size read from the file is reasonable, with a minimum lower bound of DBX_STRINGTAB_SIZE_SIZE instead of zero.
1993-03-03 * dbxread.c (dbx_symfile_init): Fix for nonexistant string table,Fred Fish1-3/+7
reported by mycroft@gnu.ai.mit.edu. (Ultrix 2.2 support from Michael Rendell <michael@mercury.cs.mun.ca>) * configure.in (vax-*-ultrix2*): New triplet. * config/vaxult2.mh: New file. * xm-vaxult2.h: New file.
1993-02-17* dbxread.c (process_one_symbol): cast enum value N_SO into int whenK. Richard Pixley1-194/+31
comparing against an int. Avoids superfluous warning from vax ultrix 4.2 cc.
1992-12-28 * dbxread.c (dbx_symfile_init, elfstab_build_psymtabs):Fred Fish1-3/+6
Call new bfd_get_size() and verify that string table is no larger than the file that is supposed to contain it. * symfile.c (syms_from_objfile): Only complain about configured NAMES_HAVE_UNDERSCORE differences between gdb and bfd if the current target is the default BFD target.
1992-12-23 * defs.h (STRCMP, STREQ, STREQN): New macros.Fred Fish1-11/+19
* 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-12-15 * complaints.c: New file, code moved from utils.c.Fred Fish1-14/+18
* complaints.c (complain): Made into a varargs function. * complaints.h: New file, code moved from symfile.h. * Makefile.in (SFILES_MAINDIR): Add complaints.c. * Makefile.in (HFILES): Add complaints.h. * Makefile.in (OBS): Add complaints.o. * symfile.c (complaint_root, stop_whining, complaint_series, complain, clear_complaints, add_show_from_set for stop_whining): Moved to complaints.c. * symfile.h (struct complaint, complaint_root decl, complain prototype, clear_complaints prototype): Moved to complaints.h. * buildsym.c, coffread.c, dbxread.c, dwarfread.c, elfread.c, gdbtypes.c, mipsread.c, stbsread.c, symfile.c: Include complaints.h. Remove casts from arguments to complain(), which is now a varargs function, and remove unnecessary placeholder zero args. * defs.h (begin_line): Add prototype. * defs.h (vprintf_filtered): Add prototype. * dwarfread.c (varargs.h): Remove, no longer needed. * dwarfread.c (dwarfwarn): Remove prototype and function. * dwarfread.c (complaints): Define a bunch of complaints. * dwarfread.c (SQUAWK): Remove macro defs, convert all usages to standard complain() calls. * utils.c (begin_line): New function that ensures that whatever gets filter-printed next starts on its own line. * utils.c (vprintf_filtered): New func, like vfprintf_filtered, but to stdout (calls vfprintf_filtered internally).
1992-09-26* findvar.c (supply_register): Add CLEAN_UP_REGISTER_VALUE hook.John Gilmore1-19/+19
* tm-hppa.h (CLEAN_UP_REGISTER_VALUE): Use it. * hppa-coredep.c: Remove, now that we use the hook. * config/hppab.mh, config/hppah.mh: Use standard coredep.o. * hppab-xdep.c, hppah-xdep.c: Remove custom code, use hook. * dbxread.c, partial-stab.h: Replace all #ifdef hp9000s800's with GDB_TARGET_IS_HPPA's. This is a SERIOUS KLUDGE. The code needs to all be ripped out and reimplemented right (see elfread.c). * tm-hppa.h (GDB_TARGET_IS_HPPA): Define.
1992-09-25* tm-sparc.h, dbxread.c (read_ofile_symtab): Install Jim Wilson'sStu Grossman1-22/+30
fix to differentiate between gcc1 & gcc2 compiled files so that we can debug calls that pass structs as args correctly. * symmisc.c (dump_symtab): If block was compiled with gcc, say so, and what version.
1992-08-06 * buildsym.c (start_subfile): Compact dirname initialization.Fred Fish1-21/+52
* 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-08* dbxread.c (dbx_symfile_init): Init stab_section_info to NULL toStu Grossman1-3/+4
prevent crashes when examining cross-targets. * dbxread.c (process_one_symbol): Include directory name when calling start_subfile for SOL & BINCL symbols. This allows gdb to find include files, and yacc/lex sources when the cwd doesn't match that in which the object was compiled. * objfiles.h (ALL_MSYMBOLS): Don't seg fault when there are no msymbols. * symtab.c (lookup_symtab_1): Rewrite. It now handles include files.
1992-07-05* buildsym.c (finish_block): Fix thinko `inner block' complaints.John Gilmore1-1/+11
* dbxread.c (process_one_symbol): Parse N_OPT "gcc2_compiled.". * procfs.c (proc_set_exec_trap): Set run-on-last-close flag on child processes, to avoid dead ones "hanging around" after GDB exits. (attach): Always stop the process if it needs it. Set RLC flag when attaching running processes, so it will continue if we detach it, quit, or are killed. (detach): Clear faults and set RLC flag to make process run when we close it. (open_proc_file): New `mode' argument for O_RDONLY or O_RDWR. Callers changed. (info_proc): Open process O_RDONLY, so we can see any process, even those controlled by debuggers. * tm-sun4sol2.h (SUN_FIXED_LBRAC_BUG): They did (in Sol 2).
1992-07-04Relocate symbols using an array of section_offsets, rather than aJohn Gilmore1-90/+137
single `addr' or `offset'. This makes Solaris-2 support work, and permits better VxWorks (and maybe xcoff) support later. * dbxread.c: Conforming changes. (struct dbx_symfile_info): Move to gdb-stabs.h. (start_psymtab): Call elfstab_offset_sections to calculate good offsets for this source file, based on the ELF symbol table info. (read_ofile_symtab): Yank N_CATCH, which is dead. (process_one_symbol, N_CATCH): Yank. (", N_FUN, N_FNAME, N_FN, N_FN_SEQ, N_SO, N_SOL, N_ENTRY): Relocate with SECT_OFF_TEXT. (", N_STSYM, N_LCSYM, N_ROSYM): Grope around in the stab string to distinguish relocatable from absolute symbols. Then, if not absolute, do: (", N_STSYM, N_DSLINE): SECT_OFF_DATA. (", N_LCSYM, N_BSLINE): SECT_OFF_BSS. (", N_ROSYM): SECT_OFF_RODATA. (elfstab_build_psymtabs): Caller has allocated dbx_symfile_info. (dbx_symfile_offsets): Add to translate addr to offset.
1992-07-04 * breakpoint.c, buildsym.c, c-exp.y, coffread.c, command.c,Fred Fish1-3/+3
core.c, cplus-dem.c, dbxread.c, dwarfread.c, elfread.c, environ.c, eval.c, findvar.c, gdbtypes.c, hppabsd-tdep.c, hppahpux-tdep.c, i386-tdep.c, ieee-float.c, infcmd.c, inflow.c, infptrace.c, infrun.c, m2-exp.y, mipsread.c, objfiles.c, parse.c, procfs.c, putenv.c, remote-mm.c, remote-vx.c, solib.c, sparc-tdep.c, sparc-xdep.c, stack.c, symfile.c, symtab.c, symtab.h, target.c, tm-i386v.h, tm-sparc.h, utils.c, valarith.c, valops.c, valprint.c, values.c, xcoffread.c: Remove "(void)" casts from function calls where the return value is ignored, in accordance with GNU coding standards.
1992-07-03* dbxread.c (process_one_symbol): Ignore N_MAIN, N_ENDM for Solaris.John Gilmore1-2/+3
* partial-stab.h: Ignore N_ENDM. * elfread.c (elf_symtab_read): Ignore symbols that don't have a CODE or DATA section attachment. This eliminates a lot of random values from shared libraries, which screw up the ordinary symbols in the address ranges they happen to overlap. * buildsym.c (define_symbol): Eliminate special tests for function types; move into "function" cases in switch statement. (define_symbol: 'f', 'F', 'P'): Process all parameter types in case they define new type numbers. But ignore them (FIXME). ('k', 'B'): Ignore const and volatile if we see them (FIXME). (read_sun_builtin_type): Add commentary.
1992-06-29 * dbxread.c, i386-pinsn.c, i386-tdep.c, regex.c, solib.c, symmisc.c,Fred Fish1-3/+3
symtab.h, tm-i386v4.h, valprint.c, values.c: Lint. * breakpoint.c, c-exp.y, coffread.c, command.c, environ.c, eval.c, findvar.c, infcmd.c, infptrace.c, infrun.c, m2-exp.y, parse.c, putenv.c, solib.c, sparc-xdep.c, symtab.c, tm-i386v.h, tm-sparc.h, utils.c, valarith.c, valops.c, valprint.c, values.c: Replace bcopy() use with memcpy(), which is more standard and can take advantage of gcc's builtin functions for increased performance. * breakpoint.c, buildsym.c, coffread.c, dbxread.c, i386-tdep.c, ieee-float.c, infcmd.c, sparc-tdep.c, stack.c, symtab.c, symtab.h, target.c, values.c: Replace bzero() use with memset(), which is more standard and can take advantage of gcc's builtin functions for increased performance. * i386-tdep.c, main.c, valprint.c: Replace bcmp() use with memcmp(), which is more standard and can take advantage of gcc's builtin functions for increased performance.
1992-06-25* dbxread.c (dbx_symfile_init): Move more code under hp9000s800Stu Grossman1-1/+1
conditional. * hppabsd-core.c: Don't include "param.h", include <sys/param.h> instead. * remote.c (remote_wait): Cast signal to void * to avoid warning from busted HP compiler.
1992-06-24* dbxread.c (read_ofile_symtab): Remove N_CATCH special case,John Gilmore1-11/+1
since it is no longer used and burns time for every symbol read. (process_one_symbol): Treat N_CATCH like default (complain).
1992-06-19* configure.in, dbxread.c, hppa-coredep.c, hppa-pinsn.c,Stu Grossman1-1/+209
hppabsd-core.c, hppabsd-tdep.c, hppabsd-xdep.c, hppahpux-tdep.c, hppahpux-xdep.c, munch, partial-stab.h, tm-hppabsd.h, tm-hppahpux.h, xm-hppabsd.h, xm-hppahpux.h: HPPA merge.
1992-06-19* remote.c (getpkt): Error if input exceeds buffer size.John Gilmore1-5/+1
(_initialize_remote): `set remotedebug' enables packet trace. * dbxread.c (process_one_symbol:N_FUN): GCC now produces relative N_SLINE's, etc, just like Sun cc on Solaris2. * am29k-tdep.c (read_register_stack, write_register_stack): Change RSTACK_HIGH_ADDR to rstack_high_address, a user-settable variable. Add `set' and `show' commands for it. * doc/gdb.texinfo: Document it. * eval.c: Avoid residue-by-zero when evaluating without side effects. (Bug and fix found by Pierre Willard.) * sparc-tdep.c: Clean up slightly for Solaris2.
1992-06-16* dbxread.c (process_one_symbol), partial-stab.h: IgnoreStu Grossman1-9/+12
extraneous SO stabs from busted C++ compilers.
1992-06-15 * Makefile.in (VERSION): Bump to 4.5.5.Fred Fish1-10/+8
* symtab.c (decode_line_1): Until C++ support stabilizes, when C++ lookups fail, print possibly helpful hint about completion. * cplus-dem.c (demangle_signature): Fix ARM style demangling for static data members. * dbxread.c (dbx_psymtab_to_symtab_1): Fix prototype. * config/ncr3000.mh (INSTALL): Don't use /usr/ucb/install, it's broken on ncr3000's.
1992-06-14* dbxread.c (end_psymtab): Only reset texthigh if it's not alreadyJohn Gilmore1-5/+13
set. Don't reset our own texthigh, or dependency-only pst's, in scanning all the rest of the psymtabs. (process_one_symbol): Fix comments around N_OBJ, N_OPT, N_UNDF. * buildsym.h (N_UNDF): Improve comments. (N_LSYM, etc): Skip types without names (":T(0,3)=sfoob...").
1992-06-13* dbxread.c: Add symbol_size to struct dbx_symfile_info.John Gilmore1-63/+298
Add symbol_size and file offsets to struct symloc. Add static symbol_table_offset, string_table_offset, file_string_table_offset, next_file_string_table_offset, last_function_name. (add_old_header_file): Convert error() to complain()t. (dbx_symfile_read): Get symbol size via the objfile. Also get symbol_table_offset. (dbx_symfile_init): Record symbol size and count via the objfile. (dbx_next_symbol_text): Always add file_string_table_offset when accessing string table. (read_dbx_symtab): Initialize file_string_table_offset to 0. (SET_NAMESTRING): Use the offset. (end_psymtab): Large kludge to determine addresses where source files start and end (for the psymtab header). (psymtab_to_symtab_1): Set file_string_table_offset before reading. Get this, symbol size, and symbol offset, from psymtab. (read_ofile_symtab): Don't back up one symbol for Solaris2. Patch up last_source_start_addr if zero in N_SO. (process_one_symbol): Add variable function_start_offset. ( "", N_FUN, N_LBRAC, N_RBRAC, N_SLINE): Add ifdef for BLOCK_ADDRESS_FUNCTION_RELATIVE. ( "", N_OBJ, N_OPT): Ignore. (elfstab_build_psymtabs): New function to read stabs out of an ELF file. * Makefile.in: Accept $(BISON) even though we really want $(YACC). (gdb): use GLOBAL_CFLAGS when linking, too. * partial-stab.h (N_UNDF): Deal with Sol2 relative stringtab offsets. (N_OBJ, N_OPT): Ignore. ('f', 'F'): Save last function name. * symfile.h: Prototype elfstab_build_psymtabs. * symfile.c: Add almost-OK debug versions of add_psymbol_*to_list. * xm-sysv4.h: Add <limits.h> to avoid conflicting defns in defs.h.
1992-04-02Lint.John Gilmore1-19/+17
* symfile.c (add_symbol_file_command): Initialize mapped/readnow.
1992-03-27Mostly changes to dbxread.c to preserve stringtab's on a per-objfileFred Fish1-168/+81
basis, for use in expanding psymtabs to full symtabs. See ChangeLog for other details.
1992-03-19 * coffread.c, mipsread.c, xcoffread.c, coffread.c, dbxread.c,Fred Fish1-54/+119
elfread.c (coff_symfile_finish): Add function, prototype, and add to the xxxx_sym_fns struct for each file type. Also reformat the xxxx_sym_fns vector to a standard format and add comments. * coffread.c, mipsread.c, xcoffread.c, coffread.c, dbxread.c, elfread.c (xxx_symfile_new_init, xxx_symfile_init, xxx_symfile_read): Pass pointer to struct objfile rather than pointer to sym_fns. Change references inside each function accordingly. Allocate any symbol file specific info in the per-objfile memory region. * dbxread.c (free_and_init_header_files): Break function into free_header_files(), called from dbx_symfile_finish(), and init_header_files(), called from dbx_new_init(). * dbxread.c (dbx_new_init): Move deallocation things to new dbx_symfile_finish function. * elfread.c (elf_new_init): Call buildsym_new_init(). * objfiles.c (free_objfile): Call the appropriate symfile_finish() routine for the objfile before deallocating other stuff. * sparc-tdep.c (get_longjmp_target): Cast target_read_memory arg. * symfile.h: Move struct sym_fns to before struct objfile def. Add sym_finish function pointer and change prototypes of other function pointers to reflect passing struct objfile pointer rather than struct sym_fns pointer. * symfile.c: Remove now obsolete symtab_fns pointer. * symfile.c (symfile_init): Renamed to find_sym_fns, and now only locates the correct sym_fns struct for the given objfile. * symfile.c (syms_from_objfile, symbol_file_add): Restructured for better support of mapped symbol tables. * symfile.c (symbol_file_command): Remove obsolete code using symfile_fns. * symfile.h: Remove duplicate declarations for symfile_objfile, entry_point, and object_files. * target.c (target_info): Compare symfile_objfile to NULL. * xcoffread.c (aixcoff_new_init): Move deallocation stuff to aixcoff_symfile_finish().
1992-03-15Globs of changes. See the ChangeLog for details. Most related toFred Fish1-17/+30
using the new mmalloc package.
1992-02-22* xm-sun3os4.h, xm-sun4os4.h: Enable HAVE_MMAP.John Gilmore1-185/+157
* minsyms.c (install_minimal_symbols): Add bunches to any existing minsyms in the objfile. Avoid extra mallocation by working directly in the obstack. Remove ignored `mainline' parm. * coffread.c, dbxread.c, elfread.c, mipsread.c, solib.c, symtab.h, xcoffread.c: Change all callers. * FIXME: We should be able to eliminate MAINLINE from all the symbol readers now, with a small bit of work. * valops.c, value.h: Lint. * remote-vx.c: Add missing break; statement. Bugfix by Michael Sclafani, <sclafani@src.dec.com>.
1992-01-28Handle debug symbols in dynamically loaded (relocated) code:John Gilmore1-24/+76
* dbxread.c (read_ofile_symtab): Fix up N_CATCH better. Pass offset to process_one_symbol. (process_one_symbol): Take new offset parameter. Add it into appropriate symbol types to relocate symbols to loaded addresses. Handle all possible symbol types, and complain() about types that we don't expect to see. * mipsread.c (psymtab_to_symtab_1): Pass offset of zero to process_one_symbol (FIXME, should pass real offset). Misc bugfixes: * breakpoint.c (resolve_sal_pc): Split out code to resolve a sal's PC value. (set_breakpoint, break_command_1, until_break_command, catch_command_1, breakpoint_re_set_one): Use it. (breakpoint_re_set_one): Disable bkpts that don't re-set cleanly. (breakpoint_re_set): Mention breakpoint number in error messages. * symtab.h (resolve_sal_pc): Declare. * infcmd.c (jump_command): Use resolve_sal_pc. * source.c (find_source_lines): Avoid "Source file is more recent than executable" when bfd_get_mtime gives 0. (list_command): Shorten "FILE, line N" to "FILE:N". * putenv.c (putenv): Avoid unportably casting pointers to unsigneds.
1992-01-28Oops, checked in version with the wrong stuff enabled. Turn it off...Stu Grossman1-2/+4
1992-01-28* dbxread.c (process_one_symbol): Make a first cut at handlingStu Grossman1-6/+13
symbol tables generated by Suns acc.
1992-01-13 * tm-mips.h: Removed BLOCK_ADDRESS_ABSOLUTE, now thatPer Bothner1-5/+12
mips-tfile has been hacked to act more "traditionally." * dbxread.c: Fixed typo in comment.
1991-12-27More changes, mostly cleanups from the last set.Per Bothner1-18/+5
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-27Various changes to clean up ADD_PSYMBOL_TO_LIST and ADD_PSYMBOL_ADDR_TO_LISTFred Fish1-31/+0
usages.