From Grant Edwards <grante@visi.com>
This keeps the GUI alive while running an RDI target and lets the
STOP button be used to stop the target.
* remote-rdi.c (arm_rdi_stop): New function. Implements target_stop.
(init_rdi_ops): Set to_stop target vector entry to the above.
* rdi-share/ardi.c (stop_request): New variable. Tells when a stop
has been requested.
(angel_RDI_stop_request): New function. Registers that a stop has
been requested.
(angel_RDI_ExecuteOrStep): Add call to ui_loop_hook() in loop that
waits while target is executing. Initialize and reset stop_request.
* rdi-share/ardi.h: Add declaration of angel_RDI_stop_request().
From: Thomas Zenker <thz@Lennartz-electronic.DE>
* rdi-share/hsys.c: to compile under 4.4BSD derived systems (FreeBSD,
NetBSD...) sys_errlist should not be declared in hsys.c.
NEED_SYSERRLIST is set already by configure, so we can use it.
* rdi-share/unixcomm.c: 4.4BSD derived systems define BSD, but are
posix compliant and we should not work with the old compatibility
stuff. Because of that I undef BSD in case of FBSD etc and include
sys/ioctl to get the flags.
* rdi-share/unixcomm.c: If the TIOCEXCL flags exists set serial line
for exclusive use.
* rdi-share/host.h: if compiling under Cygwin, make sure new
preprocessor define is defined. Define it if not.
* rdi-share/hostchan.h: ditto
* rdi-share/aclocal.m4: regenerate
* rdi-share/configure: regenerate
* rdi-share/host.h: if compiling under Cygwin, make sure new
preprocessor define is defined. Define it if not.
* rdi-share/aclocal.m4: regenerate
* rdi-share/configure: regenerate
Changes to account for name change from cygwin32 to cygwin and
clean up Win32-related ifdefs.
* configure.tgt: check for cygwin* instead of cygwin32.
New cygwin gdb_target variable loses the "32".
* configure.host: check for cygwin* instead of cygwin32.
New cygwin gdb_host variable loses the "32".
* configure.in: test __CYGWIN__ instead of __CYGWIN32__,
rename gdb_cv_os_cygwin32 variable to drop the "32". Call
AM_EXEEXT instead of AC_EXEEXT since that isn't in a released
autoconf yet.
* configure: regenerate.
* main.c: drop "32" from cygwin_ funcs, include sys/cygwin.h
where
cygwin path conv protos live, instead of adding a proto here
for
them here.
* {main.c, ser-tcp.c, ser-unix.c, top.c}: check __CYGWIN__
instead of __CYGWIN32__.
* source.c: thoughout, check _WIN32 instead of WIN32.
* config/i386/cygwin32.mh: delete.
* config/i386/cygwin.mh: new file, was cygwin32.mh.
* config/i386/cygwin32.mt: delete.
* config/i386/cygwin.mt: new file, was cygwin32.mt.
* config/i386/tm-cygwin32.h: delete.
* config/i386/tm-cygwin.h: new file, was tm-cygwin32.h.
* config/i386/xm-cygwin32.h: delete.
* config/i386/xm-cygwin.h: new file, was xm-cygwin32.h.
* config/i386/xm-windows.h: #include xm-cygwin.h now.
* config/powerpc/cygwin32.mh: delete.
* config/powerpc/cygwin.mh: new file, was cygwin32.mh.
* config/powerpc/cygwin32.mt: delete.
* config/powerpc/cygwin.mt: new file, was cygwin32.mt.
* config/powerpc/tm-cygwin32.h: delete.
* config/powerpc/tm-cygwin.h: new file, was tm-cygwin32.h.
* config/powerpc/xm-cygwin32.h: delete.
* config/powerpc/xm-cygwin.h: new file, was xm-cygwin32.h.
* rdi-share/aclocal.m4: regenerate with aclocal.
* rdi-share/configure: regenerate with autoconf.
* rdi-share/{host.h, hostchan.c, hostchan.h, serdrv.c,
* serpardr.c,
unixcomm.c}: check __CYGWIN__ instead of __CYGWIN32__.
* rdi-share/unixcomm.c: If using cygwin32, also use the SERPORT and
PARPORT defines for win32.
(Unix_MatchValidSerialDevice): For cygwin32, valid serial port names
start with "com", not "/dev/tty".
(Unix_OpenSerial): Do not use O_NONBLOCK on cygwin32.
* rdi-share/devsw.c (DevSW_Close): Free the device's state (SwitcherState)
so that the device may be reopened.
* remote-rdi.c (mywritec): Send all output through gdb's *_unfiltered
functions, ignoring non-ASCII chars, so that non-tty UI's can snarf
the output from fputs_hook.
(mywrite): Ditto.
(arm_rdi_open): Set inferior_pid.
(arm_rdi_detach): Pop the target off the target stack so that
users can attach and detach multiple times.
(arm_rdi_close): Close the opened device and reset inferior_pid, too.
* rdi-share/Makefile.am, rdi-share/aclocal.m4,
rdi-share/configure: New files.
* rdi-share/configure.in: Rewritten to be an autoconf input file.
* rdi-share/Makefile.in, rdi-share/configure: Generated by
automake/autoconf.
* rdi-share/dbg_hif.h, etherdrv.c, hostchan.c: Use autoconf tests
to check environment.
automake/autoconfiscate rdi-share. We don't use the checks that autoconf
provides too much for now, but it'll be easier to use them if any problems
crop up in the future. (rdi-share/ is foreign code and it probably isn't
worth spending any more time than necessary messing with it.)