jdk netbsd fixes
Greg Lewis
glewis at eyesbeyond.com
Sat Feb 14 08:32:08 PST 2009
On Fri, Feb 13, 2009 at 02:51:13PM -0500, Christos Zoulas wrote:
> Please, commit! I cannot.
These and the previous two are in. Thanks for sending them!
> - Makefile changes for -Wl,-R (NetBSD)
> - Makefile changes for iconv. (NetBSD)
> - Makefile changes for tools (NetBSD)
> - socklen_t fixes for everyone
> - isfoo() fixes for everyone
>
> diff -r b89125f34e15 make/common/Defs.gmk
> --- a/make/common/Defs.gmk Wed Feb 11 21:25:20 2009 -0800
> +++ b/make/common/Defs.gmk Fri Feb 13 14:43:16 2009 -0500
> @@ -176,7 +176,11 @@
> ifdef ALT_X11_PATH
> X11_PATH = $(ALT_X11_PATH)
> else
> - X11_PATH = /usr/X11R6
> + ifneq ($(OS_VENDOR), NetBSD)
> + X11_PATH = /usr/X11R6
> + else
> + X11_PATH = /usr/X11R7
> + endif
> endif
>
> ifdef ALT_PACKAGE_PATH
> @@ -188,7 +192,11 @@
> ifeq ($(OS_VENDOR), Apple)
> PACKAGE_PATH = /opt/local
> else
> - PACKAGE_PATH = /usr/local
> + ifeq ($(OS_NAME), netbsd)
> + PACKAGE_PATH = /usr/pkg
> + else
> + PACKAGE_PATH = /usr/local
> + endif
> endif
> endif
> endif
> diff -r b89125f34e15 make/common/shared/Defs-utils.gmk
> --- a/make/common/shared/Defs-utils.gmk Wed Feb 11 21:25:20 2009 -0800
> +++ b/make/common/shared/Defs-utils.gmk Fri Feb 13 14:43:16 2009 -0500
> @@ -236,4 +236,9 @@
> CPIO = $(UTILS_USR_BIN_PATH)cpio
> TAR = $(UTILS_USR_BIN_PATH)tar
> endif
> + ifeq ($(OS_VENDOR), NetBSD)
> + NAWK = $(UTILS_USR_BIN_PATH)awk
> + ZIPEXE = $(UTILS_DEVTOOL_PATH)zip
> + UNZIP = $(UTILS_DEVTOOL_PATH)unzip
> + endif
> endif
> diff -r b89125f34e15 make/java/instrument/Makefile
> --- a/make/java/instrument/Makefile Wed Feb 11 21:25:20 2009 -0800
> +++ b/make/java/instrument/Makefile Fri Feb 13 14:43:16 2009 -0500
> @@ -114,9 +114,12 @@
> ICONV_PATH = $(PACKAGE_PATH)
> endif
>
> + ifneq ($(OS_NAME), netbsd)
> + ICONV_PATH = $(PACKAGE_PATH)
> # Use CPPFLAGS instead of OTHER_INCLUDES to force this last
> - CPPFLAGS += -I$(ICONV_PATH)/include
> - OTHER_LDLIBS += -L$(ICONV_PATH)/lib -liconv
> + CPPFLAGS += -I$(ICONV_PATH)/include
> + OTHER_LDLIBS += -L$(ICONV_PATH)/lib -liconv
> + endif
> else
> LDFLAGS += -L $(LIBDIR)/$(LIBARCH)/jli
> OTHER_LDLIBS += -ljli
> diff -r b89125f34e15 make/java/npt/Makefile
> --- a/make/java/npt/Makefile Wed Feb 11 21:25:20 2009 -0800
> +++ b/make/java/npt/Makefile Fri Feb 13 14:43:16 2009 -0500
> @@ -72,8 +72,10 @@
> else
> ICONV_PATH = $(PACKAGE_PATH)
> endif
> - CPPFLAGS += -I$(ICONV_PATH)/include
> - OTHER_LDLIBS += -L$(ICONV_PATH)/lib -liconv
> + ifneq ($(OS_NAME), netbsd)
> + CPPFLAGS += -I$(ICONV_PATH)/include
> + OTHER_LDLIBS += -L$(ICONV_PATH)/lib -liconv
> + endif
> endif
>
> #
> diff -r b89125f34e15 make/sun/awt/mawt.gmk
> --- a/make/sun/awt/mawt.gmk Wed Feb 11 21:25:20 2009 -0800
> +++ b/make/sun/awt/mawt.gmk Fri Feb 13 14:43:16 2009 -0500
> @@ -200,6 +200,9 @@
> ifndef HEADLESS
> CPPFLAGS += -I$(OPENWIN_HOME)/include
> LDFLAGS += -L$(OPENWIN_LIB)
> +ifeq ($(OS_NAME), netbsd)
> +LDFLAGS += -Wl,-R$(OPENWIN_LIB)
> +endif
>
> endif # !HEADLESS
>
> diff -r b89125f34e15 make/sun/splashscreen/Makefile
> --- a/make/sun/splashscreen/Makefile Wed Feb 11 21:25:20 2009 -0800
> +++ b/make/sun/splashscreen/Makefile Fri Feb 13 14:43:16 2009 -0500
> @@ -75,12 +75,17 @@
> ifeq ($(OS_VENDOR), Apple)
> ICONV_PATH = /usr
> else
> - ICONV_PATH = $(PACKAGE_PATH)
> + ifneq ($(OS_NAME), netbsd)
> + ICONV_PATH = $(PACKAGE_PATH)
> + CPPFLAGS += -I$(ICONV_PATH)/include
> + OTHER_LDLIBS += -L$(ICONV_PATH)/lib -liconv
> + else
> + OTHER_LDLIBS += -Wl,-R$(OPENWIN_LIB)
> + endif
> endif
> CPPFLAGS += -I$(OPENWIN_HOME)/include \
> - -I$(OPENWIN_HOME)/include/X11/extensions \
> - -I$(ICONV_PATH)/include
> - OTHER_LDLIBS += -L$(OPENWIN_LIB) -lX11 -lXext -L$(ICONV_PATH)/lib -liconv $(LIBM) -pthread
> + -I$(OPENWIN_HOME)/include/X11/extensions
> + OTHER_LDLIBS += -L$(OPENWIN_LIB) -lX11 -lXext $(LIBM) -pthread
> else
> CPPFLAGS += -I$(OPENWIN_HOME)/include -I$(OPENWIN_HOME)/include/X11/extensions
> OTHER_LDLIBS += -L$(OPENWIN_LIB) -lX11 -lXext $(LIBM) -lpthread
> diff -r b89125f34e15 make/sun/xawt/Makefile
> --- a/make/sun/xawt/Makefile Wed Feb 11 21:25:20 2009 -0800
> +++ b/make/sun/xawt/Makefile Fri Feb 13 14:43:16 2009 -0500
> @@ -47,6 +47,9 @@
> AUTO_JAVA_PRUNE = WrapperGenerator.java
>
> LDFLAGS += -L$(OPENWIN_LIB)
> +ifeq ($(OS_NAME), netbsd)
> +LDFLAGS += -Wl,-R$(OPENWIN_LIB)
> +endif
>
> ifeq ($(PLATFORM), linux)
> LDFLAGS += -lpthread
> diff -r b89125f34e15 make/tools/freetypecheck/Makefile
> --- a/make/tools/freetypecheck/Makefile Wed Feb 11 21:25:20 2009 -0800
> +++ b/make/tools/freetypecheck/Makefile Fri Feb 13 14:43:16 2009 -0500
> @@ -46,6 +46,9 @@
> FT_LD_OPTIONS += -R $(FREETYPE_LIB_PATH) -lfreetype
> else
> ifeq ($(PLATFORM), bsd)
> + ifeq ($(OS_NAME), netbsd)
> + FT_LD_OPTIONS += -Wl,-R$(FREETYPE_LIB_PATH)
> + endif
> FT_LD_OPTIONS += -lfreetype -lz
> else # linux
> FT_LD_OPTIONS += -Wl,-rpath -Wl,$(FREETYPE_LIB_PATH) -lfreetype
> diff -r b89125f34e15 src/solaris/native/java/lang/UNIXProcess_md.c
> --- a/src/solaris/native/java/lang/UNIXProcess_md.c Wed Feb 11 21:25:20 2009 -0800
> +++ b/src/solaris/native/java/lang/UNIXProcess_md.c Fri Feb 13 14:43:16 2009 -0500
> @@ -377,7 +377,7 @@
> */
> while ((dirp = readdir(dp)) != NULL) {
> int fd;
> - if (isdigit(dirp->d_name[0]) &&
> + if (isdigit((unsigned char)dirp->d_name[0]) &&
> (fd = strtol(dirp->d_name, NULL, 10)) >= from_fd + 2)
> close(fd);
> }
> diff -r b89125f34e15 src/solaris/native/java/net/Inet4AddressImpl.c
> --- a/src/solaris/native/java/net/Inet4AddressImpl.c Wed Feb 11 21:25:20 2009 -0800
> +++ b/src/solaris/native/java/net/Inet4AddressImpl.c Fri Feb 13 14:43:16 2009 -0500
> @@ -155,7 +155,7 @@
> * Workaround for Solaris bug 4160367 - if a hostname contains a
> * white space then 0.0.0.0 is returned
> */
> - if (isspace(hostname[0])) {
> + if (isspace((unsigned char)hostname[0])) {
> JNU_ThrowByName(env, JNU_JAVANETPKG "UnknownHostException",
> (char *)hostname);
> JNU_ReleaseStringPlatformChars(env, host, hostname);
> @@ -172,7 +172,7 @@
> return NULL;
> } else {
> int i = 0;
> - struct addrinfo *itr, *last, *iterator = res;
> + struct addrinfo *itr, *last = NULL, *iterator = res;
> while (iterator != NULL) {
> int skip = 0;
> itr = resNew;
> @@ -603,7 +603,8 @@
> ping4(JNIEnv *env, jint fd, struct sockaddr_in* him, jint timeout,
> struct sockaddr_in* netif, jint ttl) {
> jint size;
> - jint n, len, hlen1, icmplen;
> + jint n, hlen1, icmplen;
> + socklen_t len;
> char sendbuf[1500];
> char recvbuf[1500];
> struct icmp *icmp;
> diff -r b89125f34e15 src/solaris/native/java/net/NetworkInterface.c
> --- a/src/solaris/native/java/net/NetworkInterface.c Wed Feb 11 21:25:20 2009 -0800
> +++ b/src/solaris/native/java/net/NetworkInterface.c Fri Feb 13 14:43:16 2009 -0500
> @@ -55,6 +55,8 @@
> #include <net/if_var.h>
> #elif defined(__OpenBSD__)
> #include <netinet/if_ether.h>
> +#elif defined(__NetBSD__)
> +#include <net/if_ether.h>
> #endif
> #include <net/if_dl.h>
> #include <netinet/in_var.h>
> diff -r b89125f34e15 src/solaris/native/java/net/PlainDatagramSocketImpl.c
> --- a/src/solaris/native/java/net/PlainDatagramSocketImpl.c Wed Feb 11 21:25:20 2009 -0800
> +++ b/src/solaris/native/java/net/PlainDatagramSocketImpl.c Fri Feb 13 14:43:16 2009 -0500
> @@ -1852,7 +1852,7 @@
> if (opt == java_net_SocketOptions_SO_BINDADDR) {
> /* find out local IP address */
> SOCKADDR him;
> - int len = 0;
> + socklen_t len;
> int port;
> jobject iaObj;
>
> @@ -2233,7 +2233,7 @@
> {
> struct in_addr in;
> struct in_addr *inP = ∈
> - int len = sizeof(struct in_addr);
> + socklen_t len = sizeof(struct in_addr);
>
> #ifdef __linux__
> struct ip_mreqn mreqn;
> diff -r b89125f34e15 src/solaris/native/java/net/PlainSocketImpl.c
> --- a/src/solaris/native/java/net/PlainSocketImpl.c Wed Feb 11 21:25:20 2009 -0800
> +++ b/src/solaris/native/java/net/PlainSocketImpl.c Fri Feb 13 14:43:16 2009 -0500
> @@ -987,7 +987,7 @@
> */
> if (cmd == java_net_SocketOptions_SO_BINDADDR) {
> SOCKADDR him;
> - socklen_t len = 0;
> + socklen_t len;
> int port;
> jobject iaObj;
> jclass iaCntrClass;
> diff -r b89125f34e15 src/solaris/native/java/net/bsd_close.c
> --- a/src/solaris/native/java/net/bsd_close.c Wed Feb 11 21:25:20 2009 -0800
> +++ b/src/solaris/native/java/net/bsd_close.c Fri Feb 13 14:43:16 2009 -0500
> @@ -280,7 +280,11 @@
> }
>
> int NET_Accept(int s, struct sockaddr *addr, int *addrlen) {
> - BLOCKING_IO_RETURN_INT( s, accept(s, addr, addrlen) );
> + socklen_t len = *addrlen;
> + int error = accept(s, addr, &len);
> + if (error != -1)
> + *addrlen = (int)len;
> + BLOCKING_IO_RETURN_INT( s, error );
> }
>
> int NET_Connect(int s, struct sockaddr *addr, int addrlen) {
> diff -r b89125f34e15 src/solaris/native/java/net/net_util_md.c
> --- a/src/solaris/native/java/net/net_util_md.c Wed Feb 11 21:25:20 2009 -0800
> +++ b/src/solaris/native/java/net/net_util_md.c Fri Feb 13 14:43:16 2009 -0500
> @@ -1107,15 +1107,11 @@
> }
> #endif
>
> -#ifdef __solaris__
> - rv = getsockopt(fd, level, opt, result, len);
> -#else
> {
> socklen_t socklen = *len;
> rv = getsockopt(fd, level, opt, result, &socklen);
> *len = socklen;
> }
> -#endif
>
> if (rv < 0) {
> return rv;
> @@ -1225,7 +1221,8 @@
> #ifdef __solaris__
> if (level == SOL_SOCKET) {
> if (opt == SO_SNDBUF || opt == SO_RCVBUF) {
> - int sotype, arglen;
> + int sotype;
> + socklen_t arglen;
> int *bufsize, maxbuf;
>
> if (!init_max_buf) {
> @@ -1313,7 +1310,8 @@
> * SO_REUSEPORT as well for that combination.
> */
> if (level == SOL_SOCKET && opt == SO_REUSEADDR) {
> - int sotype, arglen;
> + int sotype;
> + socklen_t arglen;
>
> arglen = sizeof(sotype);
> if (getsockopt(fd, SOL_SOCKET, SO_TYPE, (void *)&sotype, &arglen) < 0) {
> @@ -1391,7 +1389,8 @@
> * corresponding IPv4 port is in use.
> */
> if (ipv6_available()) {
> - int arg, len;
> + int arg;
> + socklen_t len;
>
> len = sizeof(arg);
> if (getsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (char *)&arg,
--
Greg Lewis Email : glewis at eyesbeyond.com
Eyes Beyond Web : http://www.eyesbeyond.com
Information Technology FreeBSD : glewis at FreeBSD.org
More information about the bsd-port-dev
mailing list