Commit graph

103 commits

Author SHA1 Message Date
Jim Kingdon
4023311b08 * dbxread.c: Remove BELIEVE_PCC_PROMOTION define. The code which
used this was moved to stabsread.c a long time ago.
1993-11-10 19:42:31 +00:00
Jim Kingdon
b30c81b649 * dbxread.c (unknown_symchar_complaint): Make message refer to
"symbol descriptor" not "symbol type character" for consistency
	with stabs.texinfo terminology.
1993-11-05 04:57:29 +00:00
Jim Kingdon
c7d4c4c8ce * dbxread.c (process_one_symbol): Do relocate 'S' symbols by
the text offset (revert 12 Oct 93 change).
1993-11-04 23:03:03 +00:00
Thomas Lord
199b2450f6 Change the stream argument to _filtered to GDB_FILE *.
Change all references to stdout/stderr to gdb_stdout/gdb_stderr.

Replace all calls to stdio output functions with calls to
corresponding _unfiltered functions (`fprintf_unfiltered')

Replaced calls to fopen for output to gdb_fopen.

Added sufficient goo to utils.c and defs.h to make the above work.

The net effect is that stdio output functions are only directly used
in utils.c.  Elsewhere, the _unfiltered and _filtered functions and
GDB_FILE type are used.

In the near future, GDB_FILE will stop being equivalant to FILE.

The semantics of some commands has changed in a very subtle way:
called in the right context, they may cause new occurences of
prompt_for_continue() behavior.  The testsuite doesn't notice anything
like this, though.

Please respect this change by not reintroducing stdio output
dependencies in the main body of gdb code.  All output from commands
should go to a GDB_FILE.

Target-specific code can still use stdio directly to communicate with
targets.
1993-11-01 22:25:23 +00:00
Jim Kingdon
0eed42deee * symfile.h (sym_fns), symfile.c (find_sym_fns), xcoffread.c,
coffread.c, dbxread.c, elfread.c, mipsread.c, nlmread.c, paread.c:
	Change from using bfd target name to using the flavour.
1993-10-31 18:54:28 +00:00
Jim Kingdon
4d57c5995e * symfile.c (reread_symbols): When re-reading symbols, do all the
right operations ourself, rather than calling symbol_file_command.
	If we re-read something, call clear_symtab_users not just
	breakpoint_re_set.
	* objfiles.h, objfiles.c (build_objfile_section_table): No longer
	static.
	* symfile.c (clear_symtab_users): Call clear_pc_function_cache.
	* coffread.c, dbxread.c, elfread.c, mipsread.c, nlmread.c, paread.c
	(*_symfile_offsets): Set objfile->num_sections.
	* remote.c (remote_wait), symfile.c (syms_from_objfile):
	Don't muck with objfile->num_sections now that all the symbol
	readers set it.
	* elfread.c: Clean up obsolete comment about handling only DWARF.
	* paread.c: Remove comment about how we should use an "ordinary"
	file format with an hppa suffix.  There is nothing ordinary about SOM.
1993-10-30 20:21:19 +00:00
Stan Shebs
965a5c32b7 Added new slot to objfile struct to be shared by all stab-reading formats. 1993-10-03 23:04:25 +00:00
Stan Shebs
b5b186a2cd Additions to support stabs-in-coff. 1993-09-29 01:53:52 +00:00
Jim Kingdon
5573d7d4b1 Tue Sep 28 09:45:38 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
* symmisc.c (print_symbol): Use %02x not %2x for LOC_CONST_BYTES.

	Clean up problems with targets and hosts that have 64 bit longs
	and pointers and 32 bit ints.
	* breakpoint.c, buildsym.c, c-lang.c, c-valprint.c, ch-lang.c,
	ch-valprint.c, core.c, cp-valprint.c, dbxread.c, exec.c,
	expprint.c, gdbtypes.c, infcmd.c, language.c, language.h,
	m2-lang.c, maint.c, mips-tdep.c, mipsread.c, partial-stab.h,
	printcmd.c, remote-vx.c, solib.c, source.c, stack.c, symfile.c,
	symmisc.c, symtab.c, valops.c, valprint.c, xcoffexec.c:
	Change all printf formats from %x to %lx if outputting an address.
	Change la_*_format to use long format.
	local_hex_string, local_hex_string_custom now take an unsigned long
	argument, change all callers.
	* coffread.c (read_coff_symtab):  Remove superfluous cast for
	complaint output.
	* dbxread.c (end_psymtab):  Cast MSYMBOL_INFO to long, not int.
	* findvar.c, value.h (write_register):  Change register value to long.
	* gdbtypes.h (struct type):  Change `bitsize' to long as
	TYPE_FIELD_STATIC_PHYSNAME uses this field as a pointer.
	* inferior.h (struct inferior_status):  Change type of stop_pc to
	CORE_ADDR.
	* language.h (local_octal_string, local_octal_string_custom):
	Remove prototype, the functions are neither defined nor used.
	* mipsread.c (parse_symbol):  Use temporary variable for bitsize as
	f->bitsize is a long now.
	* objfiles.c (add_to_objfile_sections, build_objfile_section_table):
	Use unsigned long casts instead of int for abusing sections_end
	pointer as integer.
	* stack.c (parse_frame_specification):  Change type of `args' to
	CORE_ADDR for SETUP_ARBITRARY_FRAME.

	* printcmd.c (make_vasize):  Allow redefinition via MAKEVA_SIZE.
	* mipsread.c (parse_type):  Alpha cc now supports the t->continued
	bit, update algorithm to match the way the compiler uses it.
1993-09-28 17:43:25 +00:00
Jim Kingdon
3c7d306488 Revert previous change. It doesn't work because it neglects to
consider there may be a file compiled without -g screwing things up
(e.g. we are looking for the minimal symbol for "main" and we get the
one for "start" instead).

This is the change I mean:
	* minsyms.c, symtab.h (lookup_next_minimal_symbol): New function.
	* dbxread.c (process_one_symbol): Use it.
1993-09-08 17:26:31 +00:00
Jim Kingdon
9f1e14f4c9 * minsyms.c, symtab.h (lookup_next_minimal_symbol): New function.
* dbxread.c (process_one_symbol): Use it.
1993-09-08 15:51:39 +00:00
Jim Kingdon
c09bd4433e revise comment 1993-09-08 14:08:43 +00:00
Jim Kingdon
8adcfb97ad * dbxread.c (process_one_symbol): If the value of an N_FUN for a
function is zero, use minimal symbols to get the address.
1993-09-07 18:12:26 +00:00
Jim Kingdon
996ccb3043 * symtab.c, symfile.c, c-exp.y, ch-exp.y, m2-exp.y, buildsym.c,
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-02 01:41:40 +00:00
K. Richard Pixley
4ed97c9a83 bzero -> memset 1993-09-01 21:56:42 +00:00
Peter Schauer
cbba020f3f * stabsread.h, dbxread.c (end_psymtab): Return NULL if the psymtab
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-30 19:50:47 +00:00
Jim Kingdon
a656507936 Write ChangeLog entry for sef changes.
Remove dbxread.c change; I handle this in BFD by making the name start
with "a.out".
1993-08-23 19:46:03 +00:00
Sean Eric Fagan
05c81f45b4 Add support for netbsd386 (almost-but-not-quite 386bsd). 1993-08-23 07:45:32 +00:00
Peter Schauer
0eb22669dc * breakpoint.c (breakpoint_1): Walk the breakpoint chain to decide if
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 19:40:57 +00:00
Jim Kingdon
3ef0fc8c58 * dbxread.c (process_one_symbol): Deal with SunOS4 acc N_STSYM and
N_GSYM functions.
1993-07-27 19:01:11 +00:00
Jim Kingdon
b8ec9a798f * hppa-tdep.c: Remove all uses of use_unwind and `set use_unwind'
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-26 22:16:09 +00:00
Jim Kingdon
4f47020526 improve comment about Sun acc 1993-07-12 15:58:42 +00:00
Jim Kingdon
ec06a3cb25 * dbxread.c (copy_pending): Change name and function of begi argument
to endi, since that is what the caller needs.
1993-06-23 19:20:49 +00:00
Jim Kingdon
2c7ab4ca35 * config/i386/*aix*, i386aix-nat.c: New files.
* 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-21 23:46:49 +00:00
Jim Kingdon
a5e6391b44 * dbxread.c (process_one_symbol): If SUN_FIXED_LBRAC_BUG is not
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 18:46:47 +00:00
Jim Kingdon
8357834fbe * dbxread.c (process_one_symbol): Set n_opt_found based on whether
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-13 02:26:18 +00:00
Jim Kingdon
574dac8e6d * dbxread.c (process_one_symbol): Rather than having
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-06-11 21:53:49 +00:00
Fred Fish
2707b48a61 * dbxread.c (read_ofile_symtab): Remove "#if 1" around code to
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-05-30 22:41:52 +00:00
John Gilmore
65ce5df44f * dbxread.c (unknown_symchar_complaint): Add new complaint.
* stabsread.c:  Declare it.
* partial-stab.h:  Use it.

* utils.c (malloc_botch):  Don't forward-declare if NO_MMALLOC.
1993-04-15 09:41:59 +00:00
Fred Fish
69a272c4f6 * dbxread.c (dbx_symfile_init): Make size of the string table
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-04 00:01:32 +00:00
Fred Fish
6985bc542e * dbxread.c (dbx_symfile_init): Fix for nonexistant string table,
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-03-03 06:04:26 +00:00
K. Richard Pixley
040b959771 * dbxread.c (process_one_symbol): cast enum value N_SO into int when
comparing against an int.  Avoids superfluous warning from vax
  ultrix 4.2 cc.
1993-02-17 21:58:25 +00:00
Fred Fish
51db232366 * dbxread.c (dbx_symfile_init, elfstab_build_psymtabs):
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-28 01:44:21 +00:00
Fred Fish
2e4964adfc * defs.h (STRCMP, STREQ, STREQN): New macros.
* 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-23 06:34:57 +00:00
Fred Fish
51b80b0072 * complaints.c: New file, code moved from utils.c.
* 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-12-15 12:18:53 +00:00
John Gilmore
e0ba1d1427 * findvar.c (supply_register): Add CLEAN_UP_REGISTER_VALUE hook.
* 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-26 10:24:26 +00:00
Stu Grossman
1aed676612 * tm-sparc.h, dbxread.c (read_ofile_symtab): Install Jim Wilson's
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-09-25 22:59:27 +00:00
Fred Fish
3416d90bd6 * buildsym.c (start_subfile): Compact dirname initialization.
* 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-08-06 19:59:46 +00:00
Stu Grossman
784fd92b3d * dbxread.c (dbx_symfile_init): Init stab_section_info to NULL to
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-08 08:00:30 +00:00
John Gilmore
ec8ceca3f3 * buildsym.c (finish_block): Fix thinko `inner block' complaints.
* 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-05 10:26:53 +00:00
John Gilmore
2af231b836 Relocate symbols using an array of section_offsets, rather than a
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 21:03:34 +00:00
Fred Fish
4ed3a9ea66 * breakpoint.c, buildsym.c, c-exp.y, coffread.c, command.c,
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-04 03:22:08 +00:00
John Gilmore
4c7c6bab1f * dbxread.c (process_one_symbol): Ignore N_MAIN, N_ENDM for Solaris.
* 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-07-03 07:08:31 +00:00
Fred Fish
51b57ded88 * dbxread.c, i386-pinsn.c, i386-tdep.c, regex.c, solib.c, symmisc.c,
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-29 23:34:38 +00:00
Stu Grossman
bf18ac8007 * dbxread.c (dbx_symfile_init): Move more code under hp9000s800
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-25 23:02:57 +00:00
John Gilmore
fef9f55c2b * dbxread.c (read_ofile_symtab): Remove N_CATCH special case,
since it is no longer used and burns time for every symbol read.
(process_one_symbol):  Treat N_CATCH like default (complain).
1992-06-24 19:58:57 +00:00
Stu Grossman
7da1e27dd4 * configure.in, dbxread.c, hppa-coredep.c, hppa-pinsn.c,
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 22:43:49 +00:00
John Gilmore
8f86a4e465 * remote.c (getpkt): Error if input exceeds buffer size.
(_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-19 21:09:54 +00:00
Stu Grossman
c72af08913 * dbxread.c (process_one_symbol), partial-stab.h: Ignore
extraneous SO stabs from busted C++ compilers.
1992-06-16 01:43:35 +00:00
Fred Fish
4c07f28d77 * Makefile.in (VERSION): Bump to 4.5.5.
* 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-15 19:25:13 +00:00