Commit graph

483 commits

Author SHA1 Message Date
Peter Schauer
8b52d48669 * config/mips/tm-mips.h (STORE_STRUCT_RETURN): Define as noop as
the pushing of the struct return address is already handled in
	mips_push_arguments.
	* mips-tdep.c (reinit_frame_cache_sfunc):  Fix typo in prototype
	declaration.
	* mipsread.c (parse_symbol, parse_type, upgrade_type):  Add more
	sanity checks for corrupt symbol entries to avoid core dumps
	reported by benson@odi.com. Obviously Ultrix 4.3A cc now has
	the same problems as the OSF/1 alpha cc.
	* mipsread.c (parse_lines):  Iterate over the range of the compressed
	line number entries, the old iteration sometimes failed to stop
	and wrote past the end of the LINETABLE. Add sanity check to avoid
	the same problem in case the line number info is corrupt.
	* mipsread.c (parse_procedure):  Adjust pdr for alpha __sigtramp.
	* mipsread.c (parse_external, parse_partial_symbols):  Ignore stNil
	symbols that are produced for statics in .o files and stLocal symbols
	that are produced for every section in OSF/1 dynamically linked
	 executables.
	* mipsread.c (psymtab_to_symtab_1):  Put out `undefined symbols'
	warning only under `verbose on' as there are many undefined symbols
	in a dynamically linked executable.
1993-09-23 07:22:06 +00:00
Jim Kingdon
e797b4bc3b * mips-tdep.c (mips_frame_chain): If frame size zero, return zero. 1993-09-22 20:33:36 +00:00
Jim Kingdon
bdef72d222 * mips-tdep.c (mips_frame_chain): If PROC_FRAME_OFFSET is zero,
then return zero.
1993-09-22 19:31:42 +00:00
K. Richard Pixley
4ed97c9a83 bzero -> memset 1993-09-01 21:56:42 +00:00
Jim Kingdon
427fec5d1b * mips-tdep.c: Call reinit_frame_cache every time the user does
"set heuristic-fence-post".
1993-08-27 19:33:43 +00:00
Jim Kingdon
48be4c355a * mips-tdep.c: Remove unused #ifndef NUMERIC_REG_NAMES and add comment. 1993-08-17 22:37:25 +00:00
Peter Schauer
66fe741646 * config/mips/xm-makeva.h: New file implements va_list alignment
restrictions for mips hosts.
	* config/mips/{xm-irix3.h, xm-mips.h, xm-news-mips.h, xm-riscos.h}:
	Use it.
	* mips-tdep.c (init_extra_frame_info):  Do not check for
	mips_in_lenient_prologue if it is a dummy frame.
1993-07-21 10:13:30 +00:00
Jim Kingdon
23d3557255 * mips-tdep.c (heuristic_proc_start): First time we print the
warning, elaborate.
	(_initialize_mips_tdep): Improve docstring for `set heur'.
1993-07-20 22:36:13 +00:00
Jim Kingdon
ee5fb95969 * mips-tdep.c (mips_skip_prologue): New argument lenient.
Use read_memory_nobpt.
	(is_delayed, mips_in_lenient_prologue): New functions.
	(init_extra_frame_info): If in the prologue, don't use saved registers.
	* config/mips/tm-mips.h: Declare mips_skip_prologue.
1993-07-19 02:28:21 +00:00
Jim Kingdon
34df79fc9d * findvar.c, defs.h
({extract,store}_{signed_integer,unsigned_integer,address}):
	New routines to replace SWAP_TARGET_AND_HOST.
	All over: All uses of SWAP_TARGET_AND_HOST on integers replaced.
1993-07-10 01:35:53 +00:00
Peter Schauer
2fcdae93aa * defs.h, remote-eb.c (TM_FILE_OVERRIDE): Remove it.
* mips-tdep.c (init_extra_frame_info):  Set proper fci->frame if pc
	is at the start of the dummy code.
1993-07-09 16:50:43 +00:00
Jim Kingdon
f68e693158 * mips-tdep.c (isa_NAN): Don't return true on -0. 1993-06-11 18:33:12 +00:00
Peter Schauer
1b71de8ea4 * sparc-nat.c (store_inferior_registers): Fill in all members of
inferior_fp_registers by reading them from the inferior before
	modifying and writing them back.
	Fixes unexplainable inferior FP exceptions after calls to the inferior
	or setting of floating point registers.
	* mips-tdep.c (mips_skip_prologue):  Skip move of argument register
	to register which is generated by gcc-2.4.
1993-05-25 06:52:54 +00:00
Peter Schauer
ac8cf67dca * config/mips/tm-irix3.h: Clean up, use tm-bigmips.h and redefine
the necessary bits.
	* findvar.c (value_from_register): Fix uninitialized first_addr
	which caused problems with assignment of doubles to register variables
	on some targets.
	* mipsread.c: Remove TM_FILE_OVERRIDE, include tm.h and provide the
	missing mips definitions if necessary.

	Fix handling of double register variables for mips targets and big
	endian hosts. These patches are from Paul Flinders <ptf@delcam.co.uk>.
	* config/mips/tm-mips.h: Increase MAX_REGISTER_{RAW,VIRTUAL}_SIZE to
	  8 bytes for doubles.
	* config/mips/tm-mips.h (REGISTER_CONVERT_TO_TYPE): New macro for
	  conversion of type held in multiple registers to host format.
	* config/mips/tm-mips.h (REGISTER_CONVERT_FROM_TYPE): New macro,
	  companion to REGISTER_CONVERT_TO_TYPE.
	* config/mips/tm-mips.h (EXTRACT_RETURN_VALUE, STORE_RETURN_VALUE):
	  Convert to function calls.
	* config/mips/tm-mips.h (FIX_CALL_DUMMY): New code for big endian
	  mips targets.
	* mips-tdep.c (mips_print_register): Raw buffer now needs just
	  MAX_REGISTER_RAW_SIZE bytes.
	* mips-tdep.c (mips_print_register): Use REGISTER_CONVERT_TO_TYPE
	  (if defined) for doubles.
	* mips-tdep.c: (mips_extract_return_value, mips_store_return_value):
	  New functions, take care of REGISTER_CONVERT_TO/FROM_TYPE.
	* valops.c (value_assign): Use REGISTER_CONVERT_TO_TYPE if
	  defined.
	* findvar.c (value_from_register): Use REGISTER_CONVERT_TO_TYPE if
	  defined.
1993-05-22 07:26:25 +00:00
K. Richard Pixley
3127785acd * mips-tdep.c (heuristic_fence_post): new static variable.
(heuristic_proc_start): use heuristic_fence_post, print better
	  warnings, but only if not stop_soon_quietly.
	  (_initialize_mips_tdep): add_set_cmd for heuristic-fence-post.
1993-04-22 23:32:33 +00:00
Peter Schauer
e157305cd9 * mips-tdep.c (mips_skip_prologue): Always skip the typical prologue
instructions and nothing more.
	* mipsread.c (add_line): Add comment why we have to combine line number
	entries for the same line number.
1993-04-16 19:29:14 +00:00
Peter Schauer
0b0d6c3fa7 * breakpoint.c (breakpoint_re_set_one): Fix storage leak.
* breakpoint.c (enable_breakpoint): Don't enable watchpoint if it
	went out of scope.
	* exec.c (exec_close): Fix storage leak.
	* exec.c (exec_file_command): Make sure that bfd doesn't realign the
	output sections when patching an executable.
	* mips-nat.c (store_inferior_registers): Use REGISTER_PTRACE_ADDR
	when writing all registers.
	* mips-tdep.c (mips_push_dummy_frame): Save floating point registers
	at the right offset in the dummy frame.
	* mipsread.c (psymtab_to_symtab_1): Do not complain for stProc,
	stStaticProc and stEnd symbols as they are generated by gcc-2.x.
	* mipsread.c (mipscoff_new_init): Initialize stabsread and buildsym.
1993-03-28 19:28:26 +00:00
K. Richard Pixley
a8172eea3d * mips-tdep.c (heuristic_proc_start): if we walk the pc into the fence
post without finding the enclosing function, then print a warning.
1993-03-13 00:32:10 +00:00
Ian Lance Taylor
c2a0f1cb8e * remote-mips.c: New file; implements MIPS remote debugging
protocol.
	* config/idt.mt: New file; uses remote-mips.c
	* configure.in (mips-idt-ecoff): New target; uses idt.mt.

	* mips-tdep.c (mips_fpu): New variable; controls use of MIPS
	floating point coprocessor.
	(mips_push_dummy_frame): If not mips_fpu, don't save floating
	point registers.
	(mips_pop_frame): If not mips_fpu, don't restore floating point
	registers.
	(_initialize_mips_tdep): New function; let the user reset mips_fpu
	variable.
	* tm-mips.h (EXTRACT_RETURN_VALUE, STORE_RETURN_VALUE): If not
	mips_fpu, don't use fp0 as floating point return register.
	(FIX_CALL_DUMMY): If not mips_fpu, don't save floating point
	registers.

Also added remote-mips.c to .Sanitize file.
1993-02-22 23:43:03 +00:00
John Gilmore
2268d61946 Avoid longjmp()-catching compilation errors in cross-ports.
* doc/gdbint.texinfo:  Update GET_LONGJMP_TARGET, L_SET doc.
* irix4-nat.c, mips-nat.c (JB_ELEMENT_SIZE, get_longjmp_target):
Move from mips-tdep.c and tm-{irix3,mips}.h.
* mips-nat.c:  Remove a bunch of code that was ifdef'd out of
native MIPS ports.
* nm-irix3.h, nm-mips.h (GET_LONGJMP_TARGET):  Move from tm-irix3.h
and tm-mips.h.

* ultra3-nat.c (register_addr):  Move from ultra3-xdep.c.
(fetch_core_registers):  Fix bfd_seek arguments.
1992-10-16 10:47:34 +00:00
Stu Grossman
dac4929a6d * mips-tdep.c, mipsread.c, tm-mips.h: Get rid of ".gdbinfo."
symbol.  #define MIPS_EFI_SYMBOL_NAME instead.  Use different
value so that demangler won't be invoked.  This greatly speeds up
stepping.
* mips-tdep.c (mips_pop_frame):  Rewrite handling of
linked_proc_info so that it properly deallocates the appropriate
item after it is done with it instead of before.
* Don't pass bogus frame pointer to create_new_frame().  Just
leave it as zero so that lower level code will figure out the
correct value.
1992-10-15 08:36:30 +00:00
K. Richard Pixley
a70dc8981b Mips native support. Decstation and iris4 have been tested.
Iris3 has not.

* mips-tdep.c (supply_gregset, fill_gregset, supply_fpregset,
  fill_fpregset): removed to irix4-nat.c
* mips-xdep.c: removed.
* irix4-nat.c, mips-nat.c, nm-irix3.h, nm-irix4.h, nm-mips.h: new
  files.
* procfs.c: include nm.h.
* xm-irix3.h (U_REGS_OFFSET, FETCH_INFERIOR_REGISTERS): removed.
* xm-irix4.h: bump copyright.
(U_REGS_OFFSET, FETCH_INFERIOR_REGISTERS, USE_PROC_FS,
PROC_NAME_FMT): removed.
* xm-mips.h (FETCH_INFERIOR_REGISTERS): removed.
* config/irix4.mh (XDEPFILES): removed procfs.o fork-child.o.
(NAT_FILE, NATDEPFILES): new macros for native support.
(CC): supply default compiler switches.
* config/irix3.mh (XDEPFILES): removed infptrace.o inftarg.o fork-child.o coredep.o.
(NAT_FILE, NATDEPFILES): new macros for native support.  Note that
irix3 is untested.
* config/decstation.mh (XDEPFILES): removed infptrace.o inftarg.o
  fork-child.o mips-xdep.o coredep.o.
  (NAT_FILE, NATDEPFILES): new macros for native support.
1992-10-09 07:59:37 +00:00
John Gilmore
0f552c5fc6 * buildsym.c (scan_file_globals): Beware the null file.
Fix from Jim Williams.

* stack.c (return_command):  Evaluate expression *before* popping
off the stack frames!  Fix inspired by Jim Williams.
(up_silently_command, down_silently_command):  No sel frame is error.

* defs.h (memcpy, memset):  Conditionalize decls on
#ifndef MEM_FNS_DECLARED, since DECstation differs.
(alloca):  Break out the STDC and non-STDC alloca cases, to make
it work on old preprocessors as well as "picky ANSI" ones.
* xm-mips.h (memcpy, memset):  Declare, and set MEM_FNS_DECLARED.

* mips-tdep.c (heuristic_proc_start):  Zero arg produces zero.
* utils.c (fputs_demangled):  Rename SLOP since DECstation system
header files define it!
1992-06-30 08:53:28 +00:00
John Gilmore
be772100b5 Lint 1992-03-29 23:26:47 +00:00
Stu Grossman
62a469e129 * mips-tdep.c: include symfile.h and objfiles.h to fix
compilation errors.
1992-03-24 07:02:52 +00:00
Fred Fish
5e2e79f859 Many changes, most related to creating entry point information on a per-objfile
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-21 01:56:01 +00:00
Stu Grossman
407a8389b4 * config.sub configure.in config/.Sanitize config/mh-irix4
gdb/.Sanitize gdb/configure.in gdb/mips-tdep.c gdb/mipsread.c
gdb/procfs.c gdb/signame.h gdb/tm-irix3.h gdb/tm-mips.h
gdb/xm-irix4.h gdb/config/.Sanitize gdb/config/mt-irix3
gdb/config/mh-irix4 texinfo/configure.in:  Port to SGI Irix-4.x.
1992-03-05 20:20:27 +00:00
Michael Tiemann
d747e0af3d Tue Mar 3 15:11:52 1992 Michael Tiemann (tiemann@cygnus.com)
* All GDB files that #include defs.h: Removed stdio.h.
	(defs.h): #include stdio.h.

This has been tested by building GDBs for all targets hosted on Sun4.
None of the build problems were related to stdio.h inclusion.  (n.b.
many configurations don't build for other reasons.)
1992-03-03 23:26:26 +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
ef08856f62 Add language.h. 1991-09-19 22:48:16 +00:00
John Gilmore
d8b3b00eb2 Output hex with local_hex_string for Modula-2 support. 1991-09-19 07:39:54 +00:00
John Gilmore
361bf6eee5 Minor bug fixes from BSD Net2 gdb:
* blockframe.c (get_prev_frame_info):  If FRAME_CHAIN_COMBINE
returns 0, there is no previous frame.
* breakpoint.c (commands_command):  If !from_tty, don't call
input_from_terminal_p().
* dbxread.c (record_misc_function):  Speed up slightly.
(compare_psymbols):  Ditto.
* infcmd.c (do_registers_info):  Take a second argument to
determine whether to print float registers.  "info registers"
does not do so anymore.  "info all-registers" does, now.
* mips-tdep.c, pyr-tdep.c (xxx_do_registers_info):  Take second
arg and ignore it.
* tm-mips.h, tm-pyr.h (DO_REGISTERS_INFO):  Pass second arg.
* inflow.c (initialize_inflow):  Set tflags_ours correctly.
1991-08-19 20:54:03 +00:00
K. Richard Pixley
bd5635a1e2 Initial revision 1991-03-28 16:26:26 +00:00