jdk netbsd fixes
Christos Zoulas
christos at zoulas.com
Fri Feb 13 11:51:13 PST 2009
Please, commit! I cannot.
Thanks,
christos
- 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,
More information about the bsd-port-dev
mailing list