diff options
author | Mike Frysinger <vapier@gentoo.org> | 2021-06-14 23:23:19 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2021-06-14 23:29:11 -0400 |
commit | 4df5cdbd3afc33e8c0a0d18542899f3f88d2f22f (patch) | |
tree | 994aad45706e6cdbbc20be79aa601ed6aafaa774 | |
parent | 82e6d6bf900e9c1929cc2d4e64a16ab4e1abe4e9 (diff) | |
download | gdb-4df5cdbd3afc33e8c0a0d18542899f3f88d2f22f.zip gdb-4df5cdbd3afc33e8c0a0d18542899f3f88d2f22f.tar.gz gdb-4df5cdbd3afc33e8c0a0d18542899f3f88d2f22f.tar.bz2 |
sim: erc32: fix build w/out termios.h
Add conditional logic around termios.h usage to fix builds on systems
that don't have it (e.g. Windows).
-rw-r--r-- | sim/erc32/ChangeLog | 8 | ||||
-rw-r--r-- | sim/erc32/erc32.c | 12 |
2 files changed, 20 insertions, 0 deletions
diff --git a/sim/erc32/ChangeLog b/sim/erc32/ChangeLog index 311da25..a5035d0 100644 --- a/sim/erc32/ChangeLog +++ b/sim/erc32/ChangeLog @@ -1,3 +1,11 @@ +2021-06-14 Mike Frysinger <vapier@gentoo.org> + + * erc32.c [HAVE_TERMIOS_H]: Include termios.h and declare ioc1, + ioc2, iocold1, & iocold2. + (init_stdio) [HAVE_TERMIOS_H]: Only call tcsetattr. + (restore_stdio) [HAVE_TERMIOS_H]: Likewise. + (port_init) [HAVE_TERMIOS_H]: Only call tcgetattr. + 2021-06-12 Mike Frysinger <vapier@gentoo.org> * erc32.c (uart_rx): Change caddr_t to void*. diff --git a/sim/erc32/erc32.c b/sim/erc32/erc32.c index 91f734c..e7a816f 100644 --- a/sim/erc32/erc32.c +++ b/sim/erc32/erc32.c @@ -24,7 +24,9 @@ #include <sys/types.h> #include <stdio.h> #include <string.h> +#ifdef HAVE_TERMIOS_H #include <termios.h> +#endif #include <sys/fcntl.h> #include <sys/file.h> #include <unistd.h> @@ -235,7 +237,9 @@ static char wbufa[UARTBUF], wbufb[UARTBUF]; static unsigned wnuma; static unsigned wnumb; static FILE *f1in, *f1out, *f2in, *f2out; +#ifdef HAVE_TERMIOS_H static struct termios ioc1, ioc2, iocold1, iocold2; +#endif static int f1open = 0, f2open = 0; static char uarta_sreg, uarta_hreg, uartb_sreg, uartb_hreg; @@ -926,10 +930,12 @@ init_stdio(void) { if (dumbio) return; /* do nothing */ +#ifdef HAVE_TERMIOS_H if (!ifd1) tcsetattr(0, TCSANOW, &ioc1); if (!ifd2) tcsetattr(0, TCSANOW, &ioc2); +#endif } void @@ -937,10 +943,12 @@ restore_stdio(void) { if (dumbio) return; /* do nothing */ +#ifdef HAVE_TERMIOS_H if (!ifd1) tcsetattr(0, TCSANOW, &iocold1); if (!ifd2) tcsetattr(0, TCSANOW, &iocold2); +#endif } #define DO_STDIO_READ( _fd_, _buf_, _len_ ) \ @@ -979,11 +987,13 @@ port_init(void) if (sis_verbose) printf("serial port A on stdin/stdout\n"); if (!dumbio) { +#ifdef HAVE_TERMIOS_H tcgetattr(ifd1, &ioc1); iocold1 = ioc1; ioc1.c_lflag &= ~(ICANON | ECHO); ioc1.c_cc[VMIN] = 0; ioc1.c_cc[VTIME] = 0; +#endif } f1open = 1; } @@ -1008,11 +1018,13 @@ port_init(void) if (sis_verbose) printf("serial port B on stdin/stdout\n"); if (!dumbio) { +#ifdef HAVE_TERMIOS_H tcgetattr(ifd2, &ioc2); iocold2 = ioc2; ioc2.c_lflag &= ~(ICANON | ECHO); ioc2.c_cc[VMIN] = 0; ioc2.c_cc[VTIME] = 0; +#endif } f2open = 1; } |