diff options
Diffstat (limited to 'gdb/gdbserver/remote-utils.c')
-rw-r--r-- | gdb/gdbserver/remote-utils.c | 29 |
1 files changed, 10 insertions, 19 deletions
diff --git a/gdb/gdbserver/remote-utils.c b/gdb/gdbserver/remote-utils.c index 1de86be..69f87bd 100644 --- a/gdb/gdbserver/remote-utils.c +++ b/gdb/gdbserver/remote-utils.c @@ -30,12 +30,6 @@ #if HAVE_SYS_FILE_H #include <sys/file.h> #endif -#if HAVE_NETINET_IN_H -#include <netinet/in.h> -#endif -#if HAVE_SYS_SOCKET_H -#include <sys/socket.h> -#endif #if HAVE_NETDB_H #include <netdb.h> #endif @@ -57,10 +51,7 @@ #include <arpa/inet.h> #endif #include <sys/stat.h> - -#if USE_WIN32API -#include <winsock2.h> -#endif +#include "gdb_socket.h" #if __QNX__ #include <sys/iomgr.h> @@ -153,14 +144,14 @@ enable_async_notification (int fd) static int handle_accept_event (int err, gdb_client_data client_data) { - struct sockaddr_in sockaddr; + union gdb_sockaddr_u sockaddr; socklen_t tmp; if (debug_threads) debug_printf ("handling possible accept event\n"); - tmp = sizeof (sockaddr); - remote_desc = accept (listen_desc, (struct sockaddr *) &sockaddr, &tmp); + tmp = sizeof (sockaddr.sa_in); + remote_desc = accept (listen_desc, &sockaddr.sa, &tmp); if (remote_desc == -1) perror_with_name ("Accept failed"); @@ -195,7 +186,7 @@ handle_accept_event (int err, gdb_client_data client_data) /* Convert IP address to string. */ fprintf (stderr, "Remote debugging from host %s\n", - inet_ntoa (sockaddr.sin_addr)); + inet_ntoa (sockaddr.sa_in.sin_addr)); enable_async_notification (remote_desc); @@ -224,7 +215,7 @@ remote_prepare (char *name) static int winsock_initialized; #endif int port; - struct sockaddr_in sockaddr; + union gdb_sockaddr_u sockaddr; socklen_t tmp; char *port_end; @@ -269,11 +260,11 @@ remote_prepare (char *name) setsockopt (listen_desc, SOL_SOCKET, SO_REUSEADDR, (char *) &tmp, sizeof (tmp)); - sockaddr.sin_family = PF_INET; - sockaddr.sin_port = htons (port); - sockaddr.sin_addr.s_addr = INADDR_ANY; + sockaddr.sa_in.sin_family = PF_INET; + sockaddr.sa_in.sin_port = htons (port); + sockaddr.sa_in.sin_addr.s_addr = INADDR_ANY; - if (bind (listen_desc, (struct sockaddr *) &sockaddr, sizeof (sockaddr)) + if (bind (listen_desc, &sockaddr.sa, sizeof (sockaddr.sa_in)) || listen (listen_desc, 1)) perror_with_name ("Can't bind address"); |