diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 59dd921e6e8..ab7d54418c0 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,16 @@ +2000-02-25 Fernando Nasser + + From: Thomas Zenker + * 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. + 2000-02-24 Kevin Buettner * ppc-linux-tdep.c (ppc_sysv_abi_push_arguments): Put address diff --git a/gdb/rdi-share/hsys.c b/gdb/rdi-share/hsys.c index 39137566247..1d47a85fe46 100644 --- a/gdb/rdi-share/hsys.c +++ b/gdb/rdi-share/hsys.c @@ -125,8 +125,10 @@ static void DebugCheckNullTermString(char *prefix, bool nl, } } +#ifdef NEED_SYSERRLIST extern int sys_nerr; extern char *sys_errlist[]; +#endif static char *DebugStrError(int last_errno) { diff --git a/gdb/rdi-share/unixcomm.c b/gdb/rdi-share/unixcomm.c index 708387bb041..6891c0d84e2 100644 --- a/gdb/rdi-share/unixcomm.c +++ b/gdb/rdi-share/unixcomm.c @@ -36,6 +36,11 @@ #include #include +#if defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__) || defined (bsdi) +#undef BSD +#include +#endif + #ifdef sun # include # ifdef __svr4__ @@ -253,6 +258,13 @@ extern int Unix_OpenSerial(const char *name) perror("open"); return -1; } +#ifdef TIOCEXCL + if (ioctl(serpfd, TIOCEXCL) < 0) { + close(serpfd); + perror("ioctl: TIOCEXCL"); + return -1; + } +#endif return 0; }