Commit graph

67 commits

Author SHA1 Message Date
Jim Kingdon
95a98b5efa * ser-unix.c (hardwire_send_break) [HAVE_SGTTY]: Use select not usleep. 1993-08-08 21:02:37 +00:00
Jim Kingdon
d4c22c5233 * ser-unix.c (gdb_setpgid): Pass our pid, not 0, to setpgid. 1993-07-29 19:02:08 +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
7706616f20 * config/sparc/xm-sun4os4.h: Define MEM_FNS_DECLARED and include
<memory.h>.
	Include <malloc.h> rather than declaring malloc functions ourself.

	* ser-unix.c (set_tty_state): Don't ignore errors setting process
	group.
	* inflow.c (terminal_inferior): If attach_flag set, ignore errors
	from set_tty_state.
1993-07-27 22:37:51 +00:00
Jim Kingdon
dc34b11d9d * ser-unix.c: Don't try to use job control with termio. 1993-07-19 18:51:00 +00:00
Jim Kingdon
3fe11d4734 * ser-unix.c (hardwire_noflush_set_tty_state): Use an assignment,
not an initializer, to copy the structure.
1993-07-02 02:50:43 +00:00
Jim Kingdon
a77a5278a4 * ser-unix.c (hardwire_print_tty_state) [HAVE_TERMIOS]: Don't
print c_line.
	(_initialize_ser_hardwire): Just check whether _POSIX_JOB_CONTROL
	is defined; don't care what it is defined to.
1993-07-01 18:22:02 +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
Jim Kingdon
68d2db622d * ser-unix.c: Move #include of <sys/time.h> to HAVE_SGTTY section. 1993-06-27 14:16:34 +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
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
9e15da4ac4 * ser-unix.c (wait_for): Use VTIME to do timeouts instead of
poll() for termio{s}.
1993-05-06 22:17:10 +00:00
Stu Grossman
9775789df6 * ser-unix.c (wait_for): New routine to handle read timeouts,
etc.  Uses poll() if HAVE_TERMIO[S] is defined, select() otherwise.
1993-05-04 02:22:14 +00:00
Fred Fish
ebd99d5409 * defs.h (UINT_MAX, LONG_MAX, INT_MAX, INT_MIN): Replace hex
constants with slightly more portable definitions (still depends
	on 2's complement arithmetic though).
	* config/i386/nm-linux.h:  Define NO_SYS_REG_H for no <sys/reg.h>.
	* i386v-nat.c (sys/reg.h):  Conditionalize include on
	NO_SYS_REG_H.  Linux doesn't have <sys/reg.h>.
	* ser-unix.c (termio.h):  Include <termio.h> like other files that
	include termio.h, not <sys/termio.h> which may not exist (on
	linux for example).
1993-05-02 18:57:03 +00:00
Jim Kingdon
eca2963437 * ser-unix.c [USE_{TERMIO,ALARM}_TIMEOUT]: New code to deal with
systems lacking select().
1993-04-30 22:15:28 +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
4e772f4426 * Makefile.in (SFILES OBS): Add serial.[co] & ser-hardwire.[co].
These implement a new serial line interface for talking to remote
	targets.
	* configure.in:  Link ser-hardwire.c to ser-unix.c for all hosts,
	EXCEPT go32, which gets ser-go32.c.
	* remote.c:  Use new serial interface.  More remote-xxx's to be
	converted later.
	* ser-bsd.c, ser-termios.c:  Removed.
	* serial.c:  New.  Implements common operations for all serial
	types.
	* ser-unix.c:  New.  Unix specific serial operations for various
	flavors of Unix (Posix, SysV, BSD).
	* serial.h:  Generic serial interface defs.
	* config/i386/go32.mh, config/i386/i386bsd.h,
	config/m68k/apollo68b.mh, config/sparc/sun4os4.mh:  Remove
	ser-bsd.o from XDEPFILES.  All the magic is now handled in
	configure.in.
1993-04-06 05:50:54 +00:00