Commit Graph

227 Commits

Author SHA1 Message Date
Stu Grossman 0672384c27 * remote-sim.c (gdbsim_create_inferior): Back out change that
broke all simulator configurations except the rs6000.
1995-09-15 00:41:32 +00:00
Michael Tiemann 3a4f97862f Sun Sep 10 10:24:48 1995 Michael Tiemann <tiemann@axon.cygnus.com>
* tm-ppc-eabi.h (PC_IN_CALL_DUMMY): Redefine this to work with the
	simulator.  FIXME.

	* rs6000-tdep.c (push_dummy_frame): Calculate the correct link
	register offset from the current frame (don't assume it is always 8).
	(push_dummy_frame): Add comment about having only 4096 bytes of
	stack space in the simulator (by default).

	* remote-sim.c (gdbsim_create_inferior): Call
	`add_text_to_loadinfo' so that gdb can find TOC entries when
	calling functions in the inferior.

With this changes, it is now possible to correctly call inferior
functions in the PPC simulator.
1995-09-10 17:37:22 +00:00
Fred Fish 6c9638b444 Update FSF address. 1995-08-02 03:41:12 +00:00
J.T. Conklin 2b57629364 * configure.in: Check for working mmap, ansi headers, string.h,
strings.h, and memory.h.
* configure: Regenerated.

* gdb_stat.h: New file, "portable" <sys/stat.h>.
* gdb_string.h: New file, "portable" <string.h>.

* altos-xdep.c, arm-tdep.c, arm-xdep.c, convex-tdep.c,
convex-xdep.c, coredep.c, cxux-nat.c, dbxread.c, exec.c,
gould-xdep.c, hppa-tdep.c, i386aix-nat.c, i386b-nat.c,
i386mach-nat.c, i386v-nat.c, infptrace.c, m88k-nat.c, main.c,
mdebugread.c, objfiles.c, os9kread.c, procfs.c, pyr-xdep.c,
rs6000-nat.c, source.c, standalone.c, stuff.c, sun386-nat.c,
symfile.c, symm-nat.c, symm-tdep.c, symtab.c, top.c, ultra3-nat.c,
ultra3-xdep.c, umax-xdep.c, xcoffread.c: Include "gdb_stat.h"
instead of <sys/stat.h>.

* alpha-tdep.c, breakpoint.c, buildsym.c, c-typeprint.c,
ch-typeprint.c, coffread.c, command.c, core-sol2.c, core-svr4.c,
core.c, corelow.c, cp-valprint.c, dbxread.c, dcache.c, demangle.c,
dpx2-nat.c, dstread.c, dwarfread.c, elfread.c, environ.c, eval.c,
exec.c, f-lang.c, f-typeprint.c, f-valprint.c, findvar.c,
fork-child.c, gdbtypes.c, hpread.c, i386-tdep.c, infcmd.c,
inflow.c, infptrace.c, infrun.c, irix5-nat.c, language.c,
m2-typeprint.c, main.c, mdebugread.c, minsyms.c, mipsread.c,
monitor.c, nlmread.c, objfiles.c, os9kread.c, osfsolib.c, parse.c,
printcmd.c, procfs.c, regex.c, remote-adapt.c, remote-arc.c,
remote-array.c, remote-bug.c, remote-e7000.c, remote-eb.c,
remote-es.c, remote-hms.c, remote-mm.c, remote-os9k.c,
remote-pa.c, remote-sim.c, remote-st.c, remote-udi.c,
remote-utils.c, remote-vx.c, remote-vx29k.c, remote-vx68.c,
remote-vx960.c, remote-vxmips.c, remote-vxsparc.c, remote.c,
solib.c, somread.c, source.c, stabsread.c, stack.c, symfile.c,
symmisc.c, symtab.c, target.c, top.c, typeprint.c, utils.c,
valarith.c, valops.c, valprint.c, values.c, xcoffread.c: Include
"gdb_string.h" instead of <string.h>.
* gdbtk.c: Likewise.

* config/xm-sysv4.h, i386/xm-ptx.h, m68k/xm-sun3os4.h,
sparc/xm-sun4os4.h (HAVE_MMAP): Removed.

* config/xm-lynx.h, config/i386/xm-ptx.h,
config/m68k/nm-apollo68b.h, config/m68k/xm-hp300hpux.h,
config/mips/xm-irix3.h, config/mips/xm-mips.h,
config/mips/xm-news-mips.h, config/mips/xm-riscos.h,
config/pa/hppah.h, config/rs6000/xm-rs6000.h,
config/sparc/xm-sun4os4.h, config/sparc/xm-sun4sol2.h,
config/vax/xm-vaxbsd.h, config/vax/xm-vaxult.h,
config/vax/xm-vaxult2.h (MEM_FNS_DECLARED): Removed.
* config/mips/xm-irix3.h, config/mips/xm-mips.h,
config/pa/xm-hppah.h (memcpy, memset): Removed declarations.
1995-08-01 20:14:27 +00:00
Jeff Law 43fc25c87e * inftarg.c (child_thread_alive): New function to see if a
particular thread is still running.
        (child_ops): Add child_thread_alive entry.
        * remote.c (remote_thread_alive): New function to see if a
        particular thread is still alive.
        (remote_ops): Add remote_thread_alive.
        * target.c (dummy_target): Add dummy entry for thread_alive.
        (cleanup_target): de_fault thread_alive too.
        (update_current_target): INHERIT thread_alive too.
        (debug_to_thread_alive): New function.
        (setup_target_debug): Add debug_to_thread_alive.
        * target.h (struct target_ops): Add to_thread_alive.
        (target_thread_alive): Define.
        * thread.c (info_threads_command): Don't call kill; use
        target_thread_alive instead.
        * config/nm-lynx.h (CHILD_THREAD_ALIVE): Define.
        * gdbserver/low-lynx.c (mythread_alive): New function.
        (mywait): Don't restart any threads after a new thread notification,
        let the generic code handle it.
        * gdbserver/low-sparc.c (mythread_alive): Dummy version.
        * gdbserver/low-sun3.c (mythread_alive): Likewise.
        * gdbserver/server.c (main): Handle thread_alive requests.
        * gdbserver/server.h (mythread_alive): Declare.
        * corelow.c (core_ops): Add dummy entry for thread_alive.
        * exec.c (exec_ops): Likewise.
        * m3-nat.c (m3_ops): Likewise.
        * monitor.c (monitor_ops): Likewise.
        * procfs.c (procfs_ops): Likewise.
        * remote-arc.c (arc_ops): Likewise.
        * remote-array.c (array_ops): Likewise.
        * remote-e7000.c (e7000_ops): Likewise.
        * remote-es.c (es1800_ops, es1800_child_ops): Likewise.
        * remote-mips.c (mips_ops): Likewise.
        * remote-pa.c (remote_hppro_ops): Likewise.
        * remote-sim.c (gdbsim_ops): Likewise.
        * sparcl-tdep.c (sparclite_ops): Likewise.

More lynx-6100 work
1995-07-13 21:40:22 +00:00
Stan Shebs fb506180fa * config/h8300/h8300.mt: Renamed from h8300hms.mt.
* config/h8500/h8500.mt: Renamed from h8500hms.mt.
	* config/z8k/z8k.mt: Renamed from z8ksim.mt.
	* configure, configure.in: Update to reflect renamings.

	* remote-sim.c (sim): New command, passes commands to simulator.
	(simulator_command): New function.
	(gdbsim_ops): Clean up.
	* remote-sim.h (sim_do_command): Declare.
	* sh-tdep.c (memory_size): Remove command.

	* Makefile.in (SIM, SIM_OBS): New variables.
	(CLIBS, CDEPS): Add value of SIM.
	(DEPFILES): Add value of SIM_OBS

	* config/arm/arm.mt, config/h8300/h8300.mt, config/h8500/h8500.mt,
	config/sh/sh.mt, config/sparc/sp64sim.mt, config/w65/w65.mt,
	config/z8k/z8k.mt: Remove simulator files from TDEPFILES,
	define in SIM_OBS and SIM.
	config/sparc/sp64sim.mt (SIMFILES): Remove.

	* remote-z8k.c: Remove, was superseded by remote-sim.c
	* Makefile.in, mpw-make.in: Remove references to remote-z8k.c.
1995-07-01 00:22:57 +00:00
Stu Grossman 78b459a7e7 * corelow.c, exec.c, inftarg.c, m3-nat.c, op50-rom.c, procfs.c,
remote-adapt.c, remote-e7000.c, remote-eb.c, remote-es.c,
	remote-hms.c, remote-mips.c, remote-mm.c, remote-mon.c,
	remote-nindy.c, remote-os9k.c, remote-pa.c, remote-sim.c,
	remote-st.c, remote-udi.c, remote-vx.c, remote-z8k.c, remote.c,
	w89k-rom.c, target.c, target.h:  Add support for target_stop().
	* gdbtk.c (gdb_stop):  Switch to target_stop().
	* ChangeLog:  Fix comment to make shebs happy...
1994-11-03 22:40:14 +00:00
David Edelsohn 1311f8d1a5 (gdbsim_ops): Set `to_insert_breakpoint' and `to_remove_breakpoint' fields. 1994-08-10 23:06:39 +00:00
David Edelsohn 47424e7931 * remote-sim.h (sim_verbose): Delete.
Document callbacks needed.
	(sim_*): Change result to void where there isn't one.
	(sim_open): Clarify argument and error response.
	(sim_close): Declare.
	(sim_load): Change bfd_handle argument to file name.  Clarify result.
	(sim_create_inferior): Renamed from sim_set_args.
	(sim_set_pc): Delete.
	(sim_info): Delete printf_fn argument.
	* remote-sim.c (gdbsim_kill): Add comment describing purpose.
	(gdbsim_load): Try sim_load first.
	(gdbsim_create_inferior): Call sim_create_inferior.
	(gdbsim_open): Handle args == NULL.  Update call to sim_open.
	(gdbsim_close): Call sim_close.
	(gdbsim_files_info): Update call to sim_info.
	(gdbsim_ops): Realign comments.
1994-05-18 20:42:06 +00:00
Jim Kingdon 45dc9be388 * procfs.c (procfs_wait): Fix argument name to match 4 Jan changes.
* Move target_signal_from_host, target_signal_to_host, and
	store_waitstatus from inftarg.c to target.c.  procfs needs them.
	* target.c: Include "wait.h" and <signal.h>.
	* target.h, infrun.c (proceed), proceed callers: Pass new code
	TARGET_SIGNAL_DEFAULT instead of -1.  This avoids problems with
	enums being treated as unsigned and is cleaner.
	* infrun.c (signals_info): Don't print TARGET_SIGNAL_DEFAULT or
	TARGET_SIGNAL_0.
	* infcmd.c (signal_command), infrun.c (signals_info):
	Don't allow user to specify numeric equivalent of
	TARGET_SIGNAL_DEFAULT.
1994-01-06 16:34:51 +00:00
Jim Kingdon 67ac975911 * target.h: Add enum target_waitkind, enum target_signal, and
struct target_waitstatus.  Change status argument to target_wait to
	be struct target_waitstatus * instead of int *.
	* target.h, infrun.c, all targets: Change type of signal arguments
	to resume(), proceed(), and target_resume() from int to enum
	target_signal.
	* All targets (*_wait, *_resume): Change accordingly.
	* infcmd.c (program_info, signal_command), throughout infrun.c,
	* fork-child.c, solib.c, hppa-tdep.c, osfsolib.c: Use this stuff.
	* convex-xdep.c, convex-tdep.c: Add FIXME's (getting the Convex
	signal code stuff right with the new signals would be non-trivial).
	* inferior.h (stop_signal): Make it enum target_signal not int.
	* target.c, target.h (target_signal_to_string, target_signal_to_name,
	target_signal_from_name): New functions.
	* inftarg.c, target.h (target_signal_to_host, target_signal_from_host,
	store_waitstatus): New functions.
	* procfs.c (procfs_notice_signals): Use them.
	* i960-tdep.c (i960_fault_to_signal): New function, to replace
	print_fault.
	* config/i960/tm-i960.h: Don't define PRINT_RANDOM_SIGNAL.
1994-01-04 21:53:53 +00:00
Steve Chamberlain 1b68cb4fb3 How many times do I have to do this... 1993-11-15 23:49:21 +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
Steve Chamberlain 3beff94ec2 * remote-sim.c (gdbsim_store_register): Change var name so
it compiles with non-ANSI compilers.
1993-10-29 16:35:22 +00:00
David Edelsohn c7efaa16dc * remote-sim.h (SIM_ADDR): New type (same as CORE_ADDR).
(sim_set_pc): Update prototype.
(sim_read, sim_write): Ditto, and use unsigned char *buf.
(sim_fetch_register, sim_store_register): Use unsigned char *buf.
(sim_info): Pass printf function as argument, add verbose argument.
(sim_stop_reason): Renamed from sim_stop_signal, fix prototype.
* remote-sim.c (gdbsim_wait): Update call to sim_stop_reason.
(gdbsim_files_info): Update call to sim_info.
1993-10-26 16:34:01 +00:00
David Edelsohn 592f517aa3 * remote-sim.h (sim_stop): New enum.
(sim_stop_signal): Change prototype, result is enum sim_stop.
* remote-sim.c (gdbsim_wait): Update call to sim_stop_signal.
1993-10-23 21:56:47 +00:00
Stu Grossman de43d7d005 * breakpoint.c (breakpoint_thread_match break_command_1):
Thread-specific breakpoint support.
* breakpoint.h (struct breakpoint):  Add thread id field.
* fork-child.c (fork_inferior):  Move call to init_thread_list()
back a bit so that init_trace_fun can do thread functions.
* hppa-tdep.c (restore_pc_queue):  Add pid to call to target_wait.
* hppab-nat.c (child_resume):  Handle default pid.
* hppah-nat.c (child_resume):  Handle default pid.
* i386lynx-nat.c (child_wait):  New arg pid.
* inflow.c (kill_command):  Reset thread list.
* infptrace.c (child_resume):  Handle default pid.
* infrun.c:  Thread-specific breakpoint support.
* inftarg.c (child_wait):  Add pid arg.
* osfsolib.c (solib_create_inferior_hook):  Add pid to call to
target_resume.
* procfs.c:  Multi-thread support.
* remote-bug.c (bug_wait):  Add pid arg.
* remote-hms.c (hms_wait):  Add pid arg.
* remote-mips.c (mips_wait):  Add pid arg.
* remote-mon.c (monitor_wait):  Add pid arg.
* remote-nindy.c (nindy_wait):  Add pid arg.
* remote-sim.c (gdbsim_wait):  Add pid arg.
* remote-udi.c (udi_wait):  Add pid arg.
* remote-vx.c (vx_wait):  Add pid arg.
* remote-z8k.c (sim_wait):  Add pid arg.
* remote.c (remote_wait):  Add pid arg.
* solib.c (solib_create_inferior_hook):  Add pid to call to
target_resume.
* target.h (struct target_ops):  Add pid arg to to_wait and
to_notice_signals.
* thread.c (valid_thread_id):  New func to validate thread #s.
* (pid_to_thread_id):  New func to do the obvious.
* thread.h:  Prototypes for above.

* coff-solib.c (coff_solib_add):  Use nameoffset field to locate
filename.
1993-10-16 06:42:02 +00:00
David D. Zuhn 59c2be48f9 fix unterminated character string 1993-10-12 19:03:59 +00:00
Fred Fish a71c0593c6 * osfsolib.c, remote-sim.c, remote.c, solib.c, xcoffexec.c,
xcoffsolib.h:  Use 'abfd' for bfd variables instead of 'bfd'.
	Sun cc doesn't like variable names that match their typedef'd type.
1993-10-08 23:04:45 +00:00
Jim Kingdon f1e7bafcec * config/h8300/tm-h8300.h: Don't define sr_get_debug.
* remote-sim.c: Include remote-utils.h.
	* target.h: Add comment about target_has_execution.
1993-10-08 00:37:19 +00:00
Steve Chamberlain 3f0184acb0 * h8300-tdep.c (sim_load, sim_kill, sim_open, sim_set_args):
New functions.
	* infrun.c (normal_stop): Don't try and set the pc in the current
	frame coredump if there isn't one.
	* remote-sim.c (gdbsim_store_register): Don't
	SWAP_TARGET_AND_HOST, sim_store_register takes bytes in raw order.
	(gdbsim_wait): Set status with WSETSTOP.
	* config/h8300/tm-h8300.h (sr_get_debug): Define
1993-10-07 23:21:02 +00:00
Jim Kingdon 40b92220c5 * remote-sim.h: New file.
* remote-sim.c: Add remote debug feature.  Rename stuff to distinguish
	interface to simulator from gdb-specific stuff.  Other changes.
start-sanitize-v9
	* remote-sp64sim.c: Renamed to remote-sim.c.
	Use sr_get_debug instead of our own sim_verbose/simif_snoop.
	Use gnutarget in call to bfd_openr.
	Rename simif_* to gdbsim_*.
	* config/sparc/sp64sim.mt: Change remote-sp64sim.c to remote-sim.c.
end-sanitize-v9
1993-09-17 17:27:43 +00:00
Jim Kingdon 0685d95ff4 * gdbcore.h: New variable gnutarget.
* core.c: Add commands to set and show it.
	* Callers to bfd_*open*: Pass gnutarget instead of NULL as target.
	* environ.c (set_in_environ): For GNUTARGET, use set_gnutarget not
	putenv.

	* symtab.c (decode_line_1): Give error on unmatched single quote.
1993-08-09 16:53:32 +00:00
Stu Grossman 25286543da Sun Aug 1 22:58:18 1993 Stu Grossman (grossman at cygnus.com)
* Makefile.in (CLIBS):  Reorder to make Lynx ld happy.
	* (HFILES):  New file thread.h.
	* (OBS):  New file thread.c.
	* configure.in:  Host config for Lynx/386.
	* fork-child.c (fork_inferior):  Call init_thread_list().
	* infrun.c (resume):  Add pid to invocation of target_resume().
	* (wait_for_inferior): Pay attention to pid from target_wait().
	Multi-threading code now uses this to determine what to do.
	* inftarg.c (child_wait):  Conditionalize based on CHILD_WAIT macro.
	Use target_pid_to_str() macro throughout when printing pid.
	* inferior.h (child_resume):  Add pid to prototype.
	* hppab-nat.c hppah-nat.c infptrace.c (child_resume):  Pass in pid as
	argument, instead of using inferior_pid.
	* procfs.c (procfs_resume):  Pass in pid as argument.  Ignored for
	now.  Use target_pid_to_str() macro throughout for printing process id.
	* remote-adapt.c (adapt_resume):  Pass in pid as argument.
	* remote-eb.c (eb_resume):  Pass in pid as argument.
	* remote-es.c (es1800_resume):  Pass in pid as argument.
	* remote-hms.c (hms_resume):  Pass in pid as argument.
	* remote-mips.c (mips_resume):  Pass in pid as argument.
	* remote-mm.c (mm_resume):  Pass in pid as argument.
	* remote-monitor.c (monitor_resume):  Pass in pid as argument.
	* remote-nindy.c (nindy_resume):  Pass in pid as argument.
	* remote-sa.sparc.c (remote_resume):  Pass in pid as argument.
	* remote-sim.c (rem_resume):  Pass in pid as argument.
	* remote-sp64sim.c (simif_resume):  Pass in pid as argument.
	* remote-st.c (st2000_resume):  Pass in pid as argument.
	* remote-udi.c (udi_resume):  Pass in pid as argument.
	* remote-vx.c (vx_resume):  Pass in pid as argument.
	* remote-z8k.c (rem_resume):  Pass in pid as argument.
	* remote.c (remote_resume):  Pass in pid as argument.
	* solib.c (solid_create_inferior_hook):  Pass inferior_pid to
	target_resume().
	* target.c (normal_pid_to_str):  New routine to print out process
	ID normally.
	* target.h (struct target_ops):  Add pid to prototype at
	to_resume().  (target_resume):  Add pid argument.
	* (target_pid_to_str):  Default definition for normal type pids.
	* thread.c, thread.c:  New modules for multi thread/process control.
1993-08-02 06:25:36 +00:00
Stu Grossman ccf1e898d7 * findvar.c (read_register, write_register): Make these capable
of reading/writing registers that are shorter than REGISTER_TYPE.
	* (value_from_register):  Install H8500 specific code to return
	proper value when register is being used as a pointer.
	* h8500-tdep.c:  Remove extra defines of NUM_REGS.
	(h8500_skip_prologue):  Use correct lengths for LINK instructions.
	(FRAME_CHAIN):  Change name to h8500_frame_chain.  Rewrite code to
	chain frames properly by combining frame pointer with T reg.
	(init_extra_frame_info):  Delete.  It's now a macro.
	(frame_args_address):  Don't add PTR_SIZE.  Stack args are already
	offset by the correct amount off of the frame pointer.
	(register_byte):  Delete.  It's now a macro.
	(register_raw_size, register_virtual_size):  Delete.  Replaced by
	common routine h8500_register_size, cuz there's no difference
	between the raw & virtual sizes on this machine.
	(register_convert_to_raw, register_convert_to_virtual):  Delete,
	cuz there's no difference between the raw & virtual forms.
	Replaced by memcpy in tm file.
	(register_virtual_type):  Rename to h8500_register_virtual_type.
	Get rid of pointer pseudo-regs, use _REGNUM with all reg names.
	(_initialize_h8500_tdep):  Get rid of crock to ensure that GDB &
	emulator have same reg offsets.  This is all handled in the
	simulator code now.
	(h8500_trapped_internalvar):  New routine to detect references to
	convenience vars acting as pointer pseudo-regs.
	(h8500_value_trapped_internalvar):  Conjure up value of pointer
	pseudo-regs.
	(h8500_set_trapped_internalvar):  Convert set value in real
	register references.
	infcmd.c (read_pc, write_pc):  Add h8500 specific code to handle
	code segment register.
	infrun.c (proceed):  Simplify.  Call write_pc instead of doing it
	by hand.
	(wait_for_inferior):  Add h8500 specific code to add stack segment
	when reading SP register.
	remote-sim.c (fetch_register):  Spacing.
	tm-h8500.h:  #define GDB_TARGET_IS_H8500 to make it easier to
	detect cruft.  Redo all register manipulation stuff.  Get rid of
	pointer pseudo-regs.  (INIT_EXTRA_FRAME_INFO):  Adds stack segment
	to frame pointer.  (IS_TRAPPED_INTERNALVAL,
	VALUE_OF_TRAPPED_INTERNALVAR, SET_TRAPPED_INTERNALVAR):  Use these
	to create internal vars for pointer pseudo-regs.
1993-03-25 22:34:26 +00:00
Steve Chamberlain a944e79a99 * symfile.c: If O_BINARY isn't defined, set it to 0, call openp for
binary files oring in the right bit.

	* main.c, source.c, state.c, symmisc.c: use macros defined in
	fopen-{bin|both} when fopening files.

	* remote-hms.c, remote-sim.c: lint
1993-01-06 18:22:01 +00:00
Steve Chamberlain ec25d19bd6 * remote-sim.c: first attempt at general simulator interface
* remote-hms.c: whitespace
	* h8300-tdep.c: (h8300_skip_prologue, examine_prologue):
	understand new stack layout. (print_register_hook): print ccr
	register in a fancy way.
1993-01-03 22:36:04 +00:00