Commit Graph

114 Commits

Author SHA1 Message Date
Andrew Cagney
e7ab2a476e (Mostly from Gavin Koch)
In dwarf2read.c, if the ABI is 32 bit and 64 bit addresses are encountered
discard the most significant 32 bits.
Use CORE_ADDR for address variables instead of long.
Add more explicit tx49 configur target.
Check/use sigaction/SA_RESTART in remote-sim.c
1997-12-15 12:38:05 +00:00
Jeff Law
9447f05fbb * remote-sim.c (gdbsim_cntrl_c): Lose ANSI prototype. 1997-11-27 06:01:08 +00:00
Mark Alexander
639c861230 * mips-tdep.c (set_reg_offset): New function.
(mips16_heuristic_proc_desc): Calculate offsets of registers
	saved by entry pseudo-op after rest of prologue has been read.
	Use set_reg_offset to ignore all but the first save of a given
	register.
	(mips32_heuristic_proc_desc): Initialize frame adjustment value.
	* remote-sim.c (gdbsim_store_register): Don't update registers
	that have a null or empty name.
	* findvar.c (read_register_bytes): Don't fetch registers
	that have a null or empty name.
1997-09-30 06:20:59 +00:00
Mark Alexander
af774411e5 * config/mips-tm-mips.h (mips_extra_func_info): New frame_adjust
member for storing offset of MIPS16 frame pointer from SP.
	* mips-tdep.c: Use RA_REGNUM instead of hardcoded 31 throughout.
	(PROC_FRAME_ADJUST): Define.
	(mips16_heuristic_proc_desc): Store frame pointer adjustment value.
	(get_frame_pointer): Use frame pointer adjustment value when
	calculating frame address.
	* remote-sim.c (gdbsim_fetch_register): Don't fetch registers
	that have a null or empty name.
start-sanitize-tx19
	* config/mips/tm-tx19.h (MIPS_DEFAULT_FPU_TYPE): Define.
	(REGISTER_NAMES): Redefine to eliminate FP registers.
	* config/mips/tm-tx19l.h: Ditto.
end-sanitize-tx19
1997-09-26 19:42:55 +00:00
Stu Grossman
45a70ed653 * The following block of changes add support for debugging assembly
source files.
	* breakpoint.c (resolve_sal_pc):  Prevent crash when pc isn't
	associated with a function.
	* buildsym.c (record_line start_symtab end_symtab):  Don't delete
	symtabs which only have line numbers (but no other debug symbols).
	* dbxread.c (read_dbx_symtab end_psymtab):  Ditto.

	* remote-sim.c:  New functions gdbsim_insert/remove_breakpoint.  Use
	intrinsic simulator breakpoints if available, otherwise do it the
 	hard way.
	* configure.tgt:  Add d30v.
	* d30v-tdep.c:  New file.
	* config/d30v/d30v.mt, config/d30v/tm-d30v.h:  New files.
1997-09-25 01:26:36 +00:00
Andrew Cagney
d0aba53f38 New commands `set architecture'', show architecture'' and `info
architecture''.  Update SH target to use new target_architecture_hook.
1997-08-28 10:20:21 +00:00
Andrew Cagney
750b794296 Only pass endianess to simulator when explicitly set by user with set
endian.
Prepend endian argument so that it can be overriden with target sim -ARGS.
1997-08-27 07:45:50 +00:00
Andrew Cagney
fafce69ab1 Add ABFD argument to sim_create_inferior. Document.
Add file sim-hload.c - generic load for hardware only simulators.
Review each simulators sim_open, sim_load, sim_create_inferior so that
they more closely match required behavour.
1997-08-27 04:44:41 +00:00
Andrew Cagney
247fccdeb5 Add ABFD argument to sim_open call. Pass through to sim_config so
that image properties such as endianness can be checked.

More strongly document the expected behavour of each of the sim_*
interfaces.

Add default endian argument to simulator config macro
SIM_AC_OPTION_ENDIAN.  Use in sim_config.
1997-08-25 23:14:25 +00:00
Fred Fish
40b647e9e2 * config/i386/nm-linux.h: Enable prototypes that were #ifdef out.
* config/tm-sysv4.h (in_plt_section): Add prototype.

	* maint.c (maintenance_translate_address): Avoid assignment
	inside if, per GNU coding standards.
	* symfile.c (simple_read_overlay_table): Avoid assignments inside if, per
	GNU coding standards.

	* monitor.c (parse_register_dump): Is really a void function.
	Add prototype.
	(monitor_read_memory): Remove unused variable "name".
	(monitor_read_memory): Remove unused variable "regbuf".
	(monitor_open): Remove unused variable "i".
	(get_hex_word): Apparently unused, #if away for now.
	(from_hex): Ditto.

	* i386v4-nat.c (supply_fpregset): Remove unused variable "regi".
	(fill_fpregset): Remove unused variables "regi", "to", "from" and
	"registers".

	* remote-e7000.c (ctype.h): Include.
	(e7000_insert_breakpoint): #if away unused arg used by unused expr.
	* frame.h (generic_get_saved_register): Add prototype.
	(enum lval_type): Add partial forward decl.
	* dsrec.c (make_srec): Remove unused variable "type_code".
	* remote-sim.c (gdbsim_wait): Handle sim_running and sim_polling
	cases by just ignoring them.
	(command.h): Include.

	* java-exp.y (parse_number): Remove unused variable "unsigned_p".
	* java-lang.c (gdbcore.h): Include for prototypes.
	(type_from_class): Remove unused variable "ftype".
	(type_from_class): Remove unused variable "name_length".
	(evaluate_subexp_java): Add default case to handle remaining
	enumerations.
	* java-valprint.c (c-lang.h): Include for prototypes.

	* symfile.c (simple_read_overlay_region_table): #if away
	unused function.
	(simple_free_overlay_region_table): Ditto.
	(overlay_is_mapped): Add default case to switch.
	(simple_read_overlay_region_table): Ditto.
	(simple_read_overlay_region_table): Add prototype.

	* symtab.c (fixup_symbol_section): Remove unused msym variable.
	(fixup_psymbol_section): Ditto.
	(find_pc_sect_symtab): Make distance a CORE_ADDR.

	* utils.c: Add comment about t_addr being either unsigned long or
	unsigned long long.
	(paddr): Change formats to match actual types args are cast to.
	(preg): Ditto.
	(paddr_nz): Ditto.
	(preg_nz): Ditto.
1997-06-13 17:30:24 +00:00
Andrew Cagney
aa02a0b0f2 sim_kill() isn't used. 1997-06-06 03:02:51 +00:00
Andrew Cagney
1fa0cc2dfc Restrict simulator commands to an enabled simulator. 1997-05-22 04:59:25 +00:00
Andrew Cagney
24aa2b57af Depreciate sim_set_callbacks() function. Set simulator callbacks
during sim_open().
1997-05-20 00:05:27 +00:00
Andrew Cagney
c14cabbac4 Part II of getting GdbTk's stop button to always work. 1997-05-08 01:00:39 +00:00
David Edelsohn
0c4cec9f72 * remote-sim.c (gdbsim_open): Only pass -E to sim_open if
TARGET_BYTE ORDER_SELECTABLE.
1997-04-18 20:39:38 +00:00
Andrew Cagney
8517f62b16 Ref gdb/11763 - can't stop a running simulator:
o	Provide poll_quit callback to simulators
		so that they can poll for SIGINT on
		clueless OS's.

	o	Add sim_stop to simulators so that clients
		can request a halt (eg gdbtk's STOP button)
		Works for PPC!

	o	Re-arange remote-sim.c so that the
		hard work is moved from gdbsim_resume()
		to gdbsim_wait() (where it should be).
1997-04-18 12:24:52 +00:00
David Edelsohn
44cd79e4b1 * remote-sim.c (gdbsim_load): Update call to sim_load.
(gdbsim_create_inferior): No longer pass start_address to
	sim_create_inferior.
	(gdbsim_open): Pass endian indicator as arg.
1997-04-17 09:23:28 +00:00
David Edelsohn
9909707740 * remote-sim.c (gdbsim_open): Check return code from sim_open. 1997-04-02 22:17:42 +00:00
Michael Meissner
8902803f75 Fix faulty assumption that va_list is a pointer type 1997-03-28 20:48:12 +00:00
Fred Fish
12967062e4 * remote-sim.c (simulator_command): Add comment about dealing with
NULL or empty args.
start-sanitize-tic80
	* Makefile.in (tic80-tdep.o): Add target.
	* configure.tgt: Add tic80 case.
	* tic80-tdep.c: New file.
	* config/tic80/{tic80.mt, tm-tic80.h}: New files.
end-sanitize-tic80
1997-03-22 23:52:04 +00:00
Jeff Law
011fa67124 * remote-sim.c (gdb_os_vprintf_filtered): Fix to work with non-ANSI
compilers.
        (gdb_os_evprintf_filtered): Similarly.
1997-03-21 03:53:59 +00:00
Andrew Cagney
48ae80573e * remote-sim.h: Delete - moved to ../include/remote-sim.h.
* Makefile.in (remote_utils_h): Update path to remote-sim.h.
* remote-sim.c (flush_stdout, write_stderr, flush_stderr,
vprintf_filtered, evprintf_filtered): Callbacks that accept
varargs.
1997-03-17 14:23:31 +00:00
David Edelsohn
286f83b430 * remote-sim.h (sim_state, SIM_DESC): New types.
(sim_open): Return a `descriptor' as result.
	(*): New argument of descriptor result from sim_open.
	* remote-sim.c (gdbsim_desc): Renamed from gdbsim_open_p.
	(gdbsim_open): Record result of sim_open in gdbsim_desc.
	Pass argv list to sim_open, argv[0] = pseudo program name.
	(*): Pass gdbsim_desc to sim_foo fns.
1997-03-13 20:28:26 +00:00
Mark Alexander
1387cba164 * remote-sim.c (init_callbacks): Undo previous change. 1997-02-18 21:05:55 +00:00
Dawn Perchik
7ae78a73cf * maint.c: Fix dereference of pointer.
* remote-sim.c: Fix reference of structure member "last_error".
	* debugify.c: Include config.h to get ANSI definitions.
1997-02-18 19:33:29 +00:00
David Edelsohn
d9ad8adf03 * remote-sim.c (gdbsim_open_p): New static local.
(gdbsim_open): Call unpush_target if sim open.  Set gdbsim_open_p.
	(gdbsim_close): Only call sim_close if sim open.  Reset gdbsim_open_p.
1996-12-30 08:34:35 +00:00
David Edelsohn
163a75afdb * remote-sim.h: Update some comments.
* remote-sim.c (gdb_os_error): New function.
	(init_callbacks): Fix initializing of gdb_callback.  Add gdb_os_error.
	(gdb_os_printf_filtered): Use gdb_stdout, not stdout.
1996-12-09 02:06:42 +00:00
David Edelsohn
4da8b2a5f4 * callback.h: Deleted, moved to ../include.
* callback.c: Deleted, moved to ../sim/common.
	* Makefile.in (SFILES,COMMON_OBJS): Delete callback.[co].
	(callback.o): Delete rule.
	* remote-sim.h: No longer include callback.h
	(sim_callback_write_stdout): Delete prototype.
	* remote-sim.c (init_callbacks,end_callbacks): New functions.
	(gdb_os_write_stdout, gdb_os_printf_filtered): New functions.
	(gdb_callback, callbacks_initialized): New static globals.
	(gdbsim_open): Call init_callbacks.
	(gdbsim_close): Call end_callbacks.
	(simulator_command): Call init_callbacks.
1996-11-20 08:55:42 +00:00
Stan Shebs
07997f65e5 * remote-sim.c (simulator_command): Set up callbacks before
entering the simulator.
1996-11-08 20:38:07 +00:00
Stu Grossman
8501c74270 * defs.h: Define CONST_PTR as blank if compiling with Microsoft
C, else it's `const'.
	* c-lang.c c-lang.h ch-lang.c f-lang.c language.c m2-lang.c
	scm-lang.c: Microsoft C can't hack const pointers.  Use CONST_PTR
	macro instead.
	* configure configure.in defs.h:  Use AC_C_CONST to figure out if
	the compiler supports const.  Gets rid of some cruft in defs.h.
	* dwarf2read.c:  <string.h> -> "gdb_string.h"
	* remote-sim.c:  Add prototypes.  Fix call to gdbsim_kill.
	* sparcl-tdep.c (download):  Add prototypes to write_routine and
	start_routine args.

	* mswin/gdbwin.c:  Don't include both varargs.h AND stdarg.h.  Get
	rid of varargs.h  Include string.h.
	* (gdbwin_update gdbwin_fputs regs_changed_f bpt_changed_f
	update):  Fix prototypes, fix calls.
	* (update):  Return value for catch_errors.
	* (run_execute_command togdb_command_from_tty togdb_command):
	Cleanup catching of errors from calls to execute_command.  Also,
	dup command string to avoid modifying const strings.
	* (togdb_breakinfo_i_init togdb_breakinfo_i_next):  Use 0 instead
	of NULL when see if b->address isn't set.
	* (bi_disable_bpt bi_enable_bpt bi_delete_all
	bi_delete_breakpoint):  Add arg to calls to update.
	* (gui_command):  Add prototype.
	* (mswin_query):  Fix prototype.
	* (_initialize_gdbwin):  Dup string to avoid modifying const.
	* (info_path togdb_get_info_path):  Remove const from decls cuz
	this can't be const (it points at malloc'ed memory).
	* (togdb_searchpath):  Remove const from path.  Dup string to
	avoid modifying const strings.
	* rindex -> strrchr.
	* (gdbwin_list_symbols):  Regexp param is const.
	* Fix lots of refs to psymtabs to deref correct pointers.
	* (togdb_set_breakpoint_sal):  Call set_breakpoint_sal with sal,
	not &sal.
	* mswin/gdbwin.h (togdb_searchpath togdb_get_info_path
	toget_set_info_path):  Fix prototypes to match reality.
	* mswin/gui.cpp:  Define _beginthreadex and _endthreadex routines
	with proper prototypes.
	* mswin/iface.cpp (gdbwin_fputs):  Define with correct number of args.
	* mswin/ser-win32s.c:  Fix defs of min and max.
	* mswin/serdll32.c (OpenComm16):  Make cbInQueue and cbOutQueue be
	USHORT.
	* (WriteComm16):  Change lpBug from LPVOID to LPCSTR.
	* mswin/serdll32.h:  Fix prototypes for OpenComm16 and WriteComm16.
1996-08-13 00:01:37 +00:00
Jeff Law
6bafbdfbf6 * coffread.c (coff_symtab_read): Handle C_LABEL symbols like
C_STAT symbols.
        * h8300-tdep.c (h8300_pop_frame): Reset $sp and $pc correctly.
        Flush cached frames just before exiting.
        * remote-sim.c (gdbsim_resume): Complain if the program isn't
        being run.
        * config/h8300/tm-h8300.h (BELIEVE_PCC_PROMOTION): Define.
Fix some bugs exposed by the testsuite.  HMSE.
1996-05-15 14:28:34 +00:00
Jackie Smith Cashion
3e38efa06e Moved the "sim_open" call to after the callback initialisation. This
is to allow the simulator initialisation code to make use of the host
callback facilities. Had discussed this with sac, and it should be a
harmless change since none of the other simulators really make use of
the call, and it does not return a result.
1995-11-06 11:43:04 +00:00
Jim Wilson
7a29d6863d Modify last patch based on advice from Stu. 1995-10-07 00:31:18 +00:00
Jim Wilson
abf6a9dc4e Changes to make the simulator work again.
* callback.c (fdbad): Fix typo in comment.
	(os_close, os_isatty, os_lseek, os_read, os_write): Use if statements
	rather than || to get correct return value.
	(os_write_stdout): Pass missing first argument to os_write.
	* remote-sim.c: Include callback.h.
	(_initialize_remote_sim): Call sim_set_callbacks and then initialize
	the callbacks.
1995-10-06 19:06:13 +00:00
Steve Chamberlain
dedcc91de6 Thu Sep 28 14:32:11 1995 steve chamberlain <sac@slash.cygnus.com>
* callback.[ch]: New files.
	* remote-rdp.c: Support for the ARM RDP monitor.
	* Makefile: Update.
	* arm-tdep.c (arm_othernames): New.
	(_initialize_arm_tdep): install 'othernames' command.
	(arm_nullified_insn, shifted_reg_val, arm_get_next_pc): New.
	* configure.in: Check for termios.h, termio.h and sgtty.h.
	(i[345]86-*-win32*): New host.
	* configure: Regenerated.
	* inflow.c: Clean up inclusions.
	* main.c (main): Check for WINGDB, not WIN32.
	* printcmd.c (do_examine): Put QUIT test in loop.
	* remote-hms.c (e7000_load): Delete.
	(hms_ops): Point to generic_load instead.
	* remote-hms.c (hms_ops): Point to generic_load.
	* remote-sim.c (sim_callback_write_stdout): Becomes
	gdbsim_write_stdout.
	(gdbsim_load): Call generic_load.
	* remote-utils.c (gr_load_image): Delete.
	* ser-unix.c (terminal.h): Include instead of havig
	own #if tree.
	(hardwire_flush_input): Reset input buffer too.
	* source.c (openp): If WIN32 then open file in binary mode.
	* terminal.h: Configure IO mechanism using autoconf defines if available and
	not overriden.
	* utils.c (quit, pollquit, notice_quit): WIN32 check becomes WINGDB check.
	* config/arm/arm.mt (TDEPFILES): Add remote-rdp.o
	* config/arm/tm-arm.h (TARGET_BYTE_ORDER): becomes TARGET_BYTE_ORDER_SELECTABLE.
	(ADDR_BITS_REMOVE): New.
	(ORIGINAL_REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): New.
	(INST_xx): New
	(FRAME_FIND_SAVED_REGS): Pass the right argument.
	(arm_get_next_pc): Declare.
	* mswin/prebuilt/*/bfdtarget.h (SELECT_ARCHITECTURES): Need leading &.
1995-09-29 00:14:01 +00:00
Steve Chamberlain
cc274a2ecb Wed Sep 20 08:16:03 1995 steve chamberlain <sac@slash.cygnus.com>
* defs.h (xmalloc, xrealloc): Delete, they're declared in libiberty.h.
	(GETENV_PROVIDED, FCLOSE_PROVIDED): New.
	* doc/gdbint.texinfo (GETENV_PROVIDED, FCLOSE_PROVIDED): Document.
	* remote-sim.[ch] (sim_callback_write_stdout): New.
1995-09-20 15:37:50 +00:00
Steve Chamberlain
6b009ef680 Wed Sep 20 08:16:03 1995 steve chamberlain <sac@slash.cygnus.com>
* defs.h (xmalloc, xrealloc): Delete, they're declared in libiberty.h.
	(GETENV_PROVIDED, FCLOSE_PROVIDED): New.
	* doc/gdbint.texinfo (GETENV_PROVIDED, FCLOSE_PROVIDED): Document.
	* remote-sim.[ch] (gdbsim_write_stdout): New.
1995-09-20 15:32:41 +00:00
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