aboutsummaryrefslogtreecommitdiff
path: root/gdb/ser-tcp.c
diff options
context:
space:
mode:
authorSergio Durigan Junior <sergiodj@redhat.com>2018-07-12 13:03:31 -0400
committerSergio Durigan Junior <sergiodj@redhat.com>2018-07-12 13:03:31 -0400
commit64b5847236593f23564bd37afb0ea503f751165c (patch)
tree7b14ff245bae6b769ab463432345a689a0abb9a5 /gdb/ser-tcp.c
parentcde3679eb5aca10a6d09f6aa4f846ac99a3371dd (diff)
downloadgdb-64b5847236593f23564bd37afb0ea503f751165c.zip
gdb-64b5847236593f23564bd37afb0ea503f751165c.tar.gz
gdb-64b5847236593f23564bd37afb0ea503f751165c.tar.bz2
Declare 'ioarg' (from ser-tcp.c:try_connect) as 'u_long' when on Windows (and unbreak build on mingw32)
When building GDB on mingw32, it fails with: ../../binutils-gdb/gdb/ser-tcp.c: In function 'int try_connect(const addrinfo*, unsigned int*)': ../../binutils-gdb/gdb/ser-tcp.c:176:25: error: invalid conversion from 'int*' to 'u_long* {aka long unsigned int*}' [-fpermissive] ioctl (sock, FIONBIO, &ioarg); ^~~~~~ In file included from ../../binutils-gdb/gdb/serial.h:23:0, from ../../binutils-gdb/gdb/ser-tcp.c:21: /usr/x86_64-w64-mingw32/sys-root/mingw/include/winsock2.h:977:34: note: initializing argument 3 of 'int ioctlsocket(SOCKET, long int, u_long*)' WINSOCK_API_LINKAGE int WSAAPI ioctlsocket(SOCKET s,__LONG32 cmd,u_long *argp); ^~~~~~~~~~~ make[2]: *** [Makefile:1610: ser-tcp.o] Error 1 The problem happens because the IPv6 commit (c7ab0aef11d91b637bf091aa9176b8dc4aadee46) wrongly removed the code responsible for declaring 'ioarg' with a different type if building for Windows. This patch restores that. gdb/ChangeLog: 2018-07-12 Sergio Durigan Junior <sergiodj@redhat.com> * ser-tcp.c (try_connect): Declare 'ioarg' as 'u_long' if building on Windows.
Diffstat (limited to 'gdb/ser-tcp.c')
-rw-r--r--gdb/ser-tcp.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gdb/ser-tcp.c b/gdb/ser-tcp.c
index 8f165bc..618d2d9 100644
--- a/gdb/ser-tcp.c
+++ b/gdb/ser-tcp.c
@@ -171,7 +171,11 @@ try_connect (const struct addrinfo *ainfo, unsigned int *polls)
return -1;
/* Set socket nonblocking. */
+#ifdef USE_WIN32API
+ u_long ioarg = 1;
+#else
int ioarg = 1;
+#endif
ioctl (sock, FIONBIO, &ioarg);