aboutsummaryrefslogtreecommitdiff
path: root/gdb/gdbserver/gdbreplay.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/gdbserver/gdbreplay.c')
-rw-r--r--gdb/gdbserver/gdbreplay.c24
1 files changed, 16 insertions, 8 deletions
diff --git a/gdb/gdbserver/gdbreplay.c b/gdb/gdbserver/gdbreplay.c
index bfd6f19..a02a824 100644
--- a/gdb/gdbserver/gdbreplay.c
+++ b/gdb/gdbserver/gdbreplay.c
@@ -36,16 +36,24 @@
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
#if HAVE_NETDB_H
#include <netdb.h>
#endif
#if HAVE_NETINET_TCP_H
#include <netinet/tcp.h>
#endif
-#include "gdb_socket.h"
#include <alloca.h>
+#if USE_WIN32API
+#include <winsock2.h>
+#endif
#ifndef HAVE_SOCKLEN_T
typedef int socklen_t;
@@ -180,7 +188,7 @@ remote_open (char *name)
#endif
char *port_str;
int port;
- union gdb_sockaddr_u sockaddr;
+ struct sockaddr_in sockaddr;
socklen_t tmp;
int tmp_desc;
@@ -207,16 +215,16 @@ remote_open (char *name)
setsockopt (tmp_desc, SOL_SOCKET, SO_REUSEADDR, (char *) &tmp,
sizeof (tmp));
- sockaddr.sa_in.sin_family = PF_INET;
- sockaddr.sa_in.sin_port = htons (port);
- sockaddr.sa_in.sin_addr.s_addr = INADDR_ANY;
+ sockaddr.sin_family = PF_INET;
+ sockaddr.sin_port = htons (port);
+ sockaddr.sin_addr.s_addr = INADDR_ANY;
- if (bind (tmp_desc, &sockaddr.sa, sizeof (sockaddr.sa_in))
+ if (bind (tmp_desc, (struct sockaddr *) &sockaddr, sizeof (sockaddr))
|| listen (tmp_desc, 1))
perror_with_name ("Can't bind address");
- tmp = sizeof (sockaddr.sa_in);
- remote_desc = accept (tmp_desc, &sockaddr.sa, &tmp);
+ tmp = sizeof (sockaddr);
+ remote_desc = accept (tmp_desc, (struct sockaddr *) &sockaddr, &tmp);
if (remote_desc == -1)
perror_with_name ("Accept failed");