Commit graph

125 commits

Author SHA1 Message Date
John Gilmore
778c358df8 * mipsread.c (parse_symbol): Avoid clobbering enum pointer when
looking at its members.  Improve guess between struct and union,
only assuming union if multiple members have offsets of zero.
1992-02-06 06:33:15 +00:00
Per Bothner
bd49ef36c2 Mips-specific bug-fix (for stabs-in-ecoff), and style fix. See ChangeLog. 1992-02-05 02:14:31 +00:00
Per Bothner
d4ea2aba3a Various fixed triggered by trying to do the right thing wrt
to external symbols in mips ecoff binaries.  See ChangeLog.
1992-01-30 03:56:32 +00:00
John Gilmore
c55e616795 Handle debug symbols in dynamically loaded (relocated) code:
* 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-28 02:57:37 +00:00
Per Bothner
7e258d18e0 Oodles of changes. The most important is adding support for stabs
encapsulated in mips ecoff.  See ChangeLog for the gory details.
1991-12-23 23:16:58 +00:00
Steve Chamberlain
f5f0679af0 Changes due to include file renaming:
* xcoffread.c:	internalcoff.h	->coff/internal.c,
	  		coff-rs6000.h	->coff/rs6000.h
	* mipsread.c:	coff-mips.h	->coff/mips.h
	* elfread.c:    elf-common.h	->elf/common.h
			elf-external.h	->elf/external.h,
			elf-internal.h	->elf/internal.h
	* dwarfread.c	dwarf.h		->elf/dwarf.h
	* dbxread.c:	aout64.h	->aout/aout64.h
			stab.gnu.h	->aout/stab_gnu.h

	* coffread.c:   internalcoff.h	->coff/internal.h
	* buildsym.c:   stab.gnu.h	->aout/stab_gnu.h
	* depend        Updated to take the above into account.
1991-12-01 06:47:23 +00:00
John Gilmore
67c29f758d Make structs work on DECstation (sigh) 1991-11-28 00:51:48 +00:00
John Gilmore
52bd2c221f Fix syntax errors. 1991-11-27 23:32:47 +00:00
John Gilmore
f1d77e9053 Improve G++ debugging support. 1991-11-27 09:43:59 +00:00
John Gilmore
7d9884b927 * defs.h: Incorporate param.h. All users changed.
* param-no-tm.h:  Change users to define TM_FILE_OVERRIDE instead.
* param.h, param-no-tm.h:  Removed.
* Update copyrights in all changed files.
* dbxread.c, dwarfread.c, inflow.c, infrun.c, m2-exp.y, putenv.c,
solib.c, symtab.h, tm-umax.h, valprint.c:  Lint.
* tm-convex.h, tm-hp300hpux.h, tm-merlin.h, tm-sparc.h,
xm-merlin.h:  Avoid host include files in target descriptions.
* getpagesize.h:  Removed, libiberty copes now.
1991-11-21 18:42:05 +00:00
John Gilmore
a048c8f537 Add tracking of object files (that contain symbols) to gdb.
This includes a "struct objfile" that owns symtabs and psymtabs
that were read in from that binary file.  See ChangeLog.
1991-11-09 10:50:07 +00:00
John Gilmore
c9bd6710ad * mipsread.c (read_mips_symtab, read_the_mips_symtab): Use real
filename with error messages.
* stack.c (frame_select_command):  Rename to select_frame_command
to avoid "fr" and "fra" having nonunique completions.
* symfile.c (sort_symtab_syms):  Ignore sort of zero symtab *.
(symfile_init):  Print file format name when unable to handle it.
(free_named_symtabs):  Use BLOCKVECTOR rather than obsolete BLOCKLIST.
* symmisc.c (free_symtab):  Only free linetable if nonzero.
* symtab.h:  Remove obsolete BLOCKLIST macros.
1991-11-01 19:12:35 +00:00
John Gilmore
d47d5315c8 * symfile.c (syms_from_bfd): New routine.
(add_symbol_file):  Call it to do the real work.
(syms_from_bfd):  Initialize entry_point before calling symfile_init.
* symtab.h, symfile.c, coffread.c, mipsread.c, dwarfread.c:
Avoid declaring or setting entry_point (symfile.h & symfile.c cope).
1991-10-26 08:02:23 +00:00
Fred Fish
4a35d6e91b Remove the object file specific fields from the partial symbol table
structure and replace them with a pointer to private data for each
different flavor of object file reader to initialize appropriately.
1991-10-24 08:42:20 +00:00
John Gilmore
e5fa3486b1 * mipsread.c (_initialize_mipsread): Avoid using
builtin_type_void at initialize time.
(mipscoff_symfile_read):  use it now.
1991-09-19 22:39:39 +00:00
John Gilmore
0c4d2cc2b3 * symfile.c (allocate_symtab): New fn, consolidates the work
of allocating and initializing a new struct symtab.  Set the
language of the symtab based on its filename extension.
* symfile.h:  Declare it.
* mipsread.c (new_symtab):  Use it.  Minor formatting changes.
* dbxread.c (end_symtab):  Use it.

* mipsread.c (parse_symbol, case stParam and stProc):  Add #if 0'd
code for saving types of parameters with each function definition.
* dbxread.c (define_symbol, function and parameter cases):  Ditto.
(read_dbx_symtab, case N_DEFD):  Ignore.
(read_enum_type):  Recognize FALSE/TRUE enum as Modula-2 BOOLEAN
type.
(read_range_type):  Rename MAX_OF_TYPE to MAX_OF_C_TYPE, etc.
#if 0 out its uses, though, since they set a dead value.
* coffread.c (end_symtab):  Use allocate_symtab.
(process_coff_symbol):  #if 0'd for functions and params as above.
(read_enum_type):  Recognize Modula-2 BOOLEAN.
1991-09-19 02:32:35 +00:00
Stu Grossman
3eaebb754c Fix signed vs. unsigned char bug in parse_lines(). 1991-09-17 05:17:00 +00:00
John Gilmore
101f259c8f Make mipsread.c handle static symbols, both in psymtabs and symtabs. 1991-07-19 07:09:41 +00:00
John Gilmore
b8c50f0918 * core.c (memory_error): Reword error msg to mislead less.
* mips-pinsn.c (print_insn_arg 'd'):  Print $ with reg name.

        * mipsread.c (read_mips_symtab, read_the_mips_symtab,
        parse_partial_symbols): Use newer BFD internals (external_filehdr
        and external_aouthdr), byte-swap the fields that we care about
        before using them, and make the file header data local to
        read_the_mips_symtab rather than global.
1991-07-09 02:08:13 +00:00
John Gilmore
e072c73824 * mipsread.c: Rather than keeping count of how many symtabs
and psymtabs we have, for sorting purposes, count them when
        we need to sort.  This fixes bug in rereading of symbol tables.
1991-05-13 21:59:43 +00:00
John Gilmore
8ffd75c8a9 Mips bringup and general cleanup
* cplus-dem.c:  Move CPLUS_MARKER define to after defs.h.
        * infptrace.c (PT_WRITE_D, PT_READ_D):  Use correct values.
        (This still doesn't seem to make MIPS bkpts work.)
        * mipsread.c:  Remove dup "Reading symbol data..." msg.
        (symbol_file_command, add_file_command):  Remove, obsol.
        * printcmd.c (ptype_command):  Say "an enum" rather than "a enum".
        Wrap output appropriately.
        * stack.c (locals_info, catch_info, args_info):  Check
        selected_frame rather than target_has_stack or coredumping.
        * valprint.c (type_print_varspec_suffix):  Wrap "ptype" output of
        enums appropriately.
1991-05-03 01:07:12 +00:00
Jim Kingdon
961b4908e9 * mipsread.c (parse_symbol): Set startup_file_{start,end} if
entry_point is in current file.
1991-04-20 03:27:04 +00:00
Jim Kingdon
31ef19fc7f *** empty log message *** 1991-04-19 03:22:12 +00:00
John Gilmore
d219db0133 * symtab.h (GLOBAL_BLOCK, STATIC_BLOCK, FIRST_LOCAL_BLOCK): New
defines for the blocks of a blockvector that contain global and
        file-static symbols and the first of the smaller scope contours.
	* mipsread.c:  Use them.

        * coffread.c (end_psymtab):  Free named symtabs and psymtabs for
        a file, once a new symtab has been read for it.
        * mipsread.c:  FIXME.  We need to do the same for MIPS, but it
        looks harder to determine the top-level block before it's been
        queued to the psymtab list.
1991-04-13 22:31:54 +00:00
K. Richard Pixley
bd5635a1e2 Initial revision 1991-03-28 16:26:26 +00:00