From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) by sourceware.org (Postfix) with ESMTP id 63A2638930E2 for ; Tue, 15 Jun 2021 03:30:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 63A2638930E2 Received: from vapier.lan (localhost [127.0.0.1]) by smtp.gentoo.org (Postfix) with ESMTP id 7B5AB340E6E for ; Tue, 15 Jun 2021 03:30:44 +0000 (UTC) From: Mike Frysinger To: gdb-patches@sourceware.org Subject: [PATCH/committed 1/2] sim: erc32: fix build w/out termios.h Date: Mon, 14 Jun 2021 23:30:41 -0400 Message-Id: <20210615033042.24482-1-vapier@gentoo.org> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-10.7 required=5.0 tests=BAYES_00, GIT_PATCH_0, JMQ_SPF_NEUTRAL, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Jun 2021 03:30:46 -0000 Add conditional logic around termios.h usage to fix builds on systems that don't have it (e.g. Windows). --- sim/erc32/ChangeLog | 8 ++++++++ sim/erc32/erc32.c | 12 ++++++++++++ 2 files changed, 20 insertions(+) diff --git a/sim/erc32/ChangeLog b/sim/erc32/ChangeLog index 311da252b6b8..a5035d058f15 100644 --- a/sim/erc32/ChangeLog +++ b/sim/erc32/ChangeLog @@ -1,3 +1,11 @@ +2021-06-14 Mike Frysinger + + * 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 * erc32.c (uart_rx): Change caddr_t to void*. diff --git a/sim/erc32/erc32.c b/sim/erc32/erc32.c index 91f734c07dbe..e7a816f86bff 100644 --- a/sim/erc32/erc32.c +++ b/sim/erc32/erc32.c @@ -24,7 +24,9 @@ #include #include #include +#ifdef HAVE_TERMIOS_H #include +#endif #include #include #include @@ -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; } -- 2.31.1