[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Minios-devel] [UNIKRAFT/LIBLWIP v2] Fix compile error when enabling Operation mode (Mainloop (non-threaded).



Thanks a lot!

Reviewed-by: Simon Kuenzer <simon.kuenzer@xxxxxxxxx>

On 14.02.20 14:12, Felipe Huici wrote:
Enabling operating mode non-threaded (aka CONFIG_LWIP_NOTHREADS)
disables the socket API from lwip. This commit makes it so that our
socket-related glue code isn't added to the build if this option is
enabled.

Signed-off-by: Felipe Huici <felipe.huici@xxxxxxxxx>
---
  Makefile.uk          | 2 +-
  include/netdb.h      | 7 +++----
  include/sys/socket.h | 2 ++
  3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/Makefile.uk b/Makefile.uk
index 56ebcfc..5054ef4 100644
--- a/Makefile.uk
+++ b/Makefile.uk
@@ -80,6 +80,7 @@ LIBLWIP_SRCS-y += $(LIBLWIP_BASE)/proto.c
  LIBLWIP_SRCS-y += $(LIBLWIP_BASE)/host.c
  LIBLWIP_SRCS-y += $(LIBLWIP_BASE)/serv.c
  LIBLWIP_SRCS-y += $(LIBLWIP_BASE)/inet.c|unikraft
+LIBLWIP_SRCS-$(CONFIG_LWIP_DNS) += $(LIBLWIP_BASE)/getnameinfo.c|unikraft
  endif
  LIBLWIP_SRCS-$(CONFIG_LWIP_THREADS) += $(LIBLWIP_BASE)/mutex.c|unikraft
  LIBLWIP_SRCS-$(CONFIG_LWIP_THREADS) += $(LIBLWIP_BASE)/semaphore.c|unikraft
@@ -91,7 +92,6 @@ LIBLWIP_SRCS-y += $(LIBLWIP_BASE)/time.c|unikraft
  LIBLWIP_SRCS-y += $(LIBLWIP_BASE)/sendfile.c|unikraft
  LIBLWIP_SRCS-$(CONFIG_LWIP_SOCKET) += $(LIBLWIP_BASE)/sockets.c|unikraft
  LIBLWIP_SOCKETS_FLAGS-y += -Wno-cast-function-type
-LIBLWIP_SRCS-$(CONFIG_LWIP_DNS) += $(LIBLWIP_BASE)/getnameinfo.c|unikraft
  LIBLWIP_SRCS-y += $(LIBLWIP_EXTRACTED)/core/init.c
  LIBLWIP_SRCS-y += $(LIBLWIP_EXTRACTED)/core/def.c
  LIBLWIP_SRCS-y += $(LIBLWIP_EXTRACTED)/core/inet_chksum.c
diff --git a/include/netdb.h b/include/netdb.h
index 7742012..59d0bd7 100644
--- a/include/netdb.h
+++ b/include/netdb.h
@@ -23,6 +23,9 @@ int getaddrinfo(const char *node, const char *service,
                struct addrinfo **res);
  void freeaddrinfo(struct addrinfo *res);
+int getnameinfo(const struct sockaddr *addr, socklen_t addrlen,
+               char *host, socklen_t hostlen,
+               char *serv, socklen_t servlen, int flags);
#endif /* LWIP_DNS && LWIP_SOCKET && !(LWIP_COMPAT_SOCKETS) */ @@ -74,10 +77,6 @@ void setprotoent(int stayopen);
  #define EAI_SYSTEM     -11
  #define EAI_OVERFLOW   -12
-int getnameinfo(const struct sockaddr *addr, socklen_t addrlen,
-               char *host, socklen_t hostlen,
-               char *serv, socklen_t servlen, int flags);
-
  struct servent *getservbyname(const char *name, const char *proto);
  struct servent *getservbyport(int port, const char *proto);
  int getservbyport_r(int port, const char *prots, struct servent *se,
diff --git a/include/sys/socket.h b/include/sys/socket.h
index 8007cb8..8f6ecbc 100644
--- a/include/sys/socket.h
+++ b/include/sys/socket.h
@@ -38,6 +38,7 @@ extern "C" {
  #endif
#include <uk/config.h>
+#if CONFIG_LWIP_SOCKETS
  #if CONFIG_HAVE_LIBC
  #include <fcntl.h>
  #include <poll.h>
@@ -105,4 +106,5 @@ int socketpair(int domain, int type, int protocol, int 
sv[2]);
  }
  #endif
+#endif /* CONFIG_LWIP_SOCKETS */
  #endif /* _UK_LWIP_SOCKET_H_ */


_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.