Commit Graph

27 Commits

Author SHA1 Message Date
Stu Grossman
85c8b135fe * serial.h ser-go32.c ser-go32-para.c ser-mac.c ser-tcp.c
ser-unix.c:  Add SERIAL_SETSTOPBITS to set the number of stopbits
	(needed for IDP board?!?!?).
1995-03-07 09:03:37 +00:00
Stu Grossman
a76ef70a14 * core.c (dis_asm_read_memory), defs.h, gdbtk.c (gdb_disassemble),
top.c :  Get rid of dis_asm_read_memory_hook.  We can now call the
	disassemblers directly and have no need for this hook anymore.
	* defs.h, printcmd.c:  Make print_insn be static.

	* ser-go32.c (dos_comisr):  Make this 8 bit clean.
	* (dos_open dos_close):  Allow multiple opens to the same device.
	Use a ref count to prevent unwanted deallocations.
	* sparcl-tdep.c:  Put #ifdefs around all socket stuff to make GO32
	happy.
	* (sparclite_ops):  Switch to download_stratum.
	* target.h (enum strata):  Move download_stratum before
	process_stratum so that executable targets get pushed on top of
	download targets.
1995-02-03 19:35:54 +00:00
Steve Chamberlain
ccbae88965 From nigel@algor.co.uk.
* ser-go32.c (dos_close): Don't crash if scb null.
	(dos_sendbreak): New function.
	(dos_ops): Point to dos_sendbreak.
	(dos_info): Calculate COM number correctly.
1995-01-31 19:30:27 +00:00
Steve Chamberlain
771d7a99ed Mon Jan 23 00:06:57 1995 Steve Chamberlain <sac@splat>
* remote-e7000.c, remote-z8k.c, remote-nindy.c (target_ops):
        Define memory_insert/remove_breakpoint.
	* xm-go32.h: Remove redundant SIGs.

Thu Jan 19 20:26:58 1995  Steve Chamberlain  <sac@splat>

	* ser-go32.c: Rewritten by nigel@algor.co.uk.
1995-01-23 08:09:02 +00:00
Steve Chamberlain
be5e6fff5a Work to reduce the interrupts-off duration when running in DOS.
* ser-go32.c:  (dos_async_ready): See if anything is in the buffer.
	(dos_async_rx): rewrite to unpack as many characters from the
	asynctsr as possible into a local buffer.
1994-08-22 17:58:47 +00:00
Steve Chamberlain
402b0d2e55 * remote-e7000.c (e7000_open): Don't try a tcp open if we're
using go32.
	* remote-hms.c (flush): New function.
	(expect): Get edge case right.
	(hms_read_inferior_memory): Be more tolerant of line noise.
1994-06-29 20:20:42 +00:00
Steve Chamberlain
aa48187bd3 ser-go32.c: Rewrite so it runs under windows. 1994-06-28 00:52:59 +00:00
Steve Chamberlain
63eef03aba * h8500-tdep.c (initialize_h8500_tdep, large_command):
All references to value changed to value_ptrlage_command is now
	called big_command.
	All references to value changed to value_ptr.
	* remote-z8k.c (e7000_wait): Use target_waitstatus and SETSTOP
	* remote-hms.c (hms_wait): Timeout after five seconds.
	* ser-go32.c (dosasync_read): Poll if timeout < 0.
	* config/tm/tm-h8500.h (BEFORE_MAIN_LOOP_HOOK): Deleted.
	* config/sh/tm-sh.h (BREAKPOINT): Is now sleep opcode.
1994-04-15 18:43:07 +00:00
Steve Chamberlain
08c0d7b84f * ser-go32.c: Lint. (strncasecmp): Removed, now in libiberty.
(go32_readchar): Special handling for faster polling. (async
	structure): Volatile.
	* h8300-tdep.c (print_register_hook): Allocate and use the right
	number bytes for the raw register.
	* h8500-tdep.c (regoff, frame_find_saved_reg, examine_prologue):
	deleted. (h8500_register_size, h8500_register_virtual_type, ):
	Use new way of counting registers.
	* remote-e7000.c (echo_index): deleted. (expect): Better handling
	of user interrupts. (expect_prompt): Remove never used log file
	support. (want, want_nopc): Add support for H8/300H.
	(fetch_regs_from_dump): Treat \r and \n as whitespace.
	(e7000_drain): Send an "end" command before waiting for output to
	stop.  (e7000_wait): Cope with H8/300H, better handling of user
	interrupts.  (why_stop, expect_n, sub2_from_pc): New function.
	* remote-utils.c (gr_load_image): call fflush and QUIT more regularly.
	* utils.c (notice_quit): New function for polling for user interrupts.
1993-12-12 00:00:53 +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
976bb0be03 * Makefile.in (init.c): Generate using the source, not munch. This
cleans up all kinds of hassles (which nm to use in munch, etc).  The
	new formatting conventions (mostly already followed) are that
	the name of the _initialize_* routines must start in column zero,
	and must not be inside #if.
	* munch: Removed.
	* Makefile.in: Remove references to munch.
	* serial.c, remote.c, infptrace.c, maint.c, convex-tdep.c,
	alpha-tdep.c, hp300ux-nat.c, hppab-nat.c, osfsolib.c, remote-es.c,
	procfs.c, remote-udi.c, ser-go32.c, ultra3-xdep.c, sh-tdep.c,
	i960-tdep.c, hppa-tdep.c, h8500-tdep.c, dpx2-nat.c, delta68-nat.c,
	z8k-tdep.c: Make sure the above conventions are followed.  Make
	sure they are all declared as returning void.  Clean up
	miscellaneous comments and such.
1993-10-22 05:55:58 +00:00
Jim Kingdon
a14a8fad36 * inflow.c: Remove unused includes of sys/param.h, etc.
* inflow.c, ser-unix.c, ser-go32.c, ser-tcp.c, serial.h,
	terminal.h: Move all the process group stuff back to inflow.c;
	that's a better place for it and fixes problems with trying to get/set
	the process group of a tty we're doing remote debugging on.
	* terminal.h: Skip the redefine crap if HAVE_TERMIOS.
1993-10-08 22:18:27 +00:00
Jim Kingdon
80b4aa1c07 * ser-go32.c: Define job_control variable. 1993-08-06 07:11:16 +00:00
Jim Kingdon
704deef2c0 * serial.h, ser-{unix,go32,tcp}.c: Add flush_input and send_break.
* nindy-share/*, remote-nindy.c: Extensive hacking to make it
	conform to GDB conventions like using memcpy not bcopy, serial.h,
	etc.  This is to make it host on Solaris, AIX, etc.
	* Makefile.in: Reflect removed nindy-share files.
1993-07-28 06:45:35 +00:00
Jim Kingdon
c2e247c4ff * inftarg.c: Remove unused include of terminal.h.
* signals.h: Don't undefine signals anymore.
	* main.c: Use job_control from serial.h.
	* fork-child.c (fork_inferior): Use gdb_setpgid.
	* serial.h, ser-unix.c, ser-go32.c: Provide gdb_setpgid.
	* utils.c (quit): Use current_target->to_terminal_ours to figure
	out whether we care about lack of job control, rather than __GO32__.
	* utils.c: Include serial.h not terminal.h
	(quit): Use job_control not TIOCGPGRP.
	* terminal.h: Don't undefine TIOCGPGRP.
	* serial.h, ser-unix.c, ser-go32.c, ser-tcp.c: Add SERIAL_FLUSH_OUTPUT.
	* utils.c (quit): Use it.
	* serial.h: Add SERIAL_UN_FDOPEN.
	* utils.c (quit): Use it.
	* ser-unix.c: Add process group to ttystate.
	[HAVE_SGTTY]: Add tchars, ltchars, and lmode to ttystate.
	* inflow.c: Include serial.h not terminal.h.
	Use serial.h stuff to replace most of the maze of #ifdef's.
	* inflow.c, main.c, inferior.h: make gdb_has_a_terminal a function.
	* serial.h: Document SERIAL_SET_TTY_STATE as being immediate.
	* ser-unix.c: Use TIOCSETN not TIOCSETP so it is true.
	* serial.h, ser-unix.c, ser-go32.c, ser-tcp.c:
	Add SERIAL_PRINT_TTY_STATE, SERIAL_NOFLUSH_SET_TTY_STATE, and
	SERIAL_SET_PROCESS_GROUP.
	* inflow.c: Use them.
	* config/xm-svr4.h, config/rs6000/xm-rs6000.h, config/sparc/sun4os4.h:
	Define HAVE_TERMIOS.
	* Various: Remove all use of TIOC*_BROKEN.
1993-06-30 22:20:53 +00:00
Stu Grossman
a037b21e75 * remote.c: Add arg names to prototypes, in a modest effort at
clarification.  Also add prototypes for some new functions.
	* (remote_wait):  Better error reporting for 'T' responses.
	* ser-go32.c (strncasecmp):  Make str1 & str2 be const.
	* (dos_async_init):  Make usage message reflect requested port #.
	* ser-tcp.c (tcp_open):  Terminate hostname properly to prevent
	random hostname lookup failures.  Add nicer message for unknown
	host error.  (wait_for):  Wake up in case of exceptions.  Also,
	restart select() if we got EINTR.
	* ser-unix.c (wait_for):  Restart select() if we got EINTR.
	* serial.c: (serial_close):  Clean up code.
1993-06-26 00:22:30 +00:00
Stu Grossman
452b4b001f * ser-go32.c: Clean up lots of compilation nits. 1993-06-04 00:38:04 +00:00
Stu Grossman
38dc5e123f * Makefile.in: Add new file ser-tcp.c.
* defs.h (memcmp):  Add decl for memcmp to #ifndef MEM_FNS_DECLARED.
	* findvar.c (write_register):  See if we are writing back the same
	value that's already in the register.  If so, don't bother.
	* remote.c (putpkt, getpkt):  Improve handling of communication
	problems.
	* ser-go32.c:  Prototype it to death.  Update serial_ops and add
	dummy routines where appropriate.
	* ser-tcp.c:  New module to implement serial I/O via TCP
	connections.
	* ser-unix.c:  Clean up getting/setting of tty state.  Get rid of
	SERIAL_RESTORE, add SERIAL_{GET|SET}_TTY_STATE interfaces.
	* serial.c:  Add start of support for connect command.
	(serial_open):  Distinguish between tcp and local devices.
	* serial.h (struct serial_ops):  Get rid of restore, add
	get_tty_state and set_tty_state.  Define protoypes and macros for
	this mess.
	* gdbserver/remote-utils.c:  Add tcp support.  (readchar):  Do
	some real buffering.  Handle error conditions gracefully.
	* gdbserver/remote-inflow-sparc.c:  Update to remote-inflow.c
	(Lynx), remove lots of cruft.
1993-05-29 01:33:36 +00:00
Stu Grossman
4febd10272 * remote.c (remote_open): Use SERIAL_OPEN instead of serial_open.
(putpkt, getpkt):  Use new return codes for SERIAL_READCHAR.
	* ser-go32.c:  Return -1 on most failures, 0 on most successes,
	and use new return codes for go32_readchar().
	* ser-unix.c:  Ditto.  Also, move error handling up to caller for
	SERIAL_SETBAUDRATE().
	* serial.c (serial_open):  Internal call, not SERIAL_OPEN to get
	to specific routine.
	(serial_close):  New routine to wrap around device close routine.
	serial.h:  Clean & document return values more clearly.
1993-04-09 22:14:04 +00:00
Stu Grossman
b83bf6b370 * ser-go32.c: Make it use serial port name.
* go32-xdep.c:  Put in def for strlwr, needed by dir.o in go32 libc.
1993-04-08 04:12:56 +00:00
Stu Grossman
07861607f5 * ser-go32.c: Format. (go32_open): Use proper return value.
* configure.in:  Undo conditional configdirs hack for sparclite.
1993-04-07 04:43:48 +00:00
Stu Grossman
5d2b030a03 * ser-go32.c: First cut at adapting to new serial interface. 1993-04-06 10:13:03 +00:00
Steve Chamberlain
5fe932391d * command.c (shell_escape, make_command, _initialze_command):
don't create or use fork if CANT_FORK is defined.
	* serial.h, ser-go32.c: now compiles, but "the obvious problems of
	code written for the IBM PC" remain.
	* xm-go32.h: define CANT_FORK
1993-01-04 15:39:00 +00:00
Stu Grossman
5a6242dddd * remote-hms.c, ser-go32.c, serial.h: Change from
serial_timedreadchar() to new serial_readchar().
1992-10-19 23:40:36 +00:00
John Gilmore
b52373a2b1 * ser-termios.c, ser-go32.c: Remove DEFUN crap, clean up.
* serial.h (EXFUN):  Remove all uses, convert to PARAMS.
* config/sun4os4.mh:  Include ser-termios.o.  FIXME, all .mh files
should include a ser-XXX.o module.

* dbxread.c (elfstab_build_psymtabs):  Remove DEFUN crap.
* defs.h, i960-pinsn.c, remote-hms.c:  Replace CONST with simple const.

* configure.in:  Map unrecognized sun 68k's, sun sparcs, into
known suns in configure.in, rather than mapping them to unique
config files that happen to duplicate other config files.
* config/sun3.{mh,mt}:  Remove (use identical sun3os4.*).
* config/sun4.{mh,mt}:  Remove (use identical sun4os4.*).
1992-09-02 08:51:17 +00:00
John Gilmore
5140562f37 * tm-hppa.h: New file, architectural definition of HP PA.
* tm-hppabsd.h, tm-hppahpux.h:  Shrink to deltas from tm-hppa.h.

* am29k-pinsn.c, am29k-tdep.c, copying.awk, copying.c,
hppa-coredep.c, hppa-pinsn.c, hppabsd-core.c, hppabsd-tdep.c,
hppabsd-xdep.c, hppahpux-tdep.c, hppahpux-xdep.c, remote-udi.c,
ser-go32.c, xcoffsolib.c:  Remove <stdio.h> which is already in
"defs.h".

* hppa-coredep.c, hppa-pinsn.c, hppabsd-core.c, hppabsd-tdep.c,
hppabsd-xdep.c, hppahpux-tdep.c, hppahpux-xdep.c, xcoffsolib.c,
xcoffsolib.h, xm-go32.h, xm-hppabsd.h, xm-hppahpux.h:  Copyrights.
1992-06-25 11:15:47 +00:00
Steve Chamberlain
ae0ea72ee2 Changes to support GDB running on DOS using GO32 and H8 support
* defs.h: if xm.h doesn't define FOPEN_RB, include "fopen-same.h",
	allowing hosts with different text and binary file formats to
	work.
	* coffread.c (read_coff_symtab): changed calling convention and
	operation - now it opens its own file with FOPEN_RB rather than
	duping and fdopening the provided handle.
	* dbxread.c, cplus-dem.c: #include mangling.
	* exec.c: If O_BINARY isn't defined, set it to 0, call openp for
	binary files oring in the right bit.
	* utils.c, terminal.h, inflow.c: hackery because dos doesn't have terminals.
	* remote-hms.c: cleanup to use the new remote serial stuff
	* serial.h, ser-termios.c, ser-go32.c: newfiles to provide host
	independent remote terminal I/O.
	* remote.c: if DONT_USE_REMOTE is defined, then don't use it.
	* source.c (openp): fix off by one problem removing / - can now
	open a source file in the root directory with DOS.
	* values.c (value_as_pointer): remove bogus address bits from
	long. (unpack_long): unpack into unsigned long/short if pointer.
1992-05-13 01:12:18 +00:00