Just some fixes to remove compiler warnings:
6725543: Compiler warnings in serviceability native code http://bugs.sun.com/view_bug.do?bug_id=6725543 Webrev: http://javaweb.sfbay.sun.com/~ohair/webrevs/jdk7/fix6725543-serviceability/webrev/ or see attached patch file, changes are relatively localized, easy to understand. Wish I had a way of posting a webrev :^( Changes include removing some unused vars, adding some casts (mostly on on strlen()), and renaming INT32 and UINT32 typedefs to avoid conflicts on windows, which also defines these typedefs. Changed use of INT32 and UINT32 in transport/socket code to NETLONG and NETULONG since these are really "network longs" as far as I can tell. Just using INT32 and UINT32 on Windows may make the most sense, but these files are in the 'share' section and should be platform independent. -kto
--- old/src/share/back/ThreadReferenceImpl.c Mon Jul 21 10:39:19 2008 +++ new/src/share/back/ThreadReferenceImpl.c Mon Jul 21 10:39:19 2008 @@ -540,7 +540,6 @@ jvmtiError error = JVMTI_ERROR_NONE; jint count = 0; - jint depth; jvmtiMonitorStackDepthInfo *monitors=NULL; error = JVMTI_FUNC_PTR(gdata->jvmti,GetOwnedMonitorStackDepthInfo) --- old/src/share/back/transport.c Mon Jul 21 10:39:21 2008 +++ new/src/share/back/transport.c Mon Jul 21 10:39:20 2008 @@ -473,7 +473,7 @@ /* * Record listener address in a system property */ - len = strlen(name) + strlen(retAddress) + 2; /* ':' and '\0' */ + len = (int)strlen(name) + (int)strlen(retAddress) + 2; /* ':' and '\0' */ prop_value = (char*)jvmtiAllocate(len); strcpy(prop_value, name); strcat(prop_value, ":"); --- old/src/share/demo/jvmti/hprof/hprof_io.c Mon Jul 21 10:39:22 2008 +++ new/src/share/demo/jvmti/hprof/hprof_io.c Mon Jul 21 10:39:22 2008 @@ -1900,7 +1900,6 @@ dump_heap_segment_and_reset(jlong segment_size) { int fd; - char *last_chunk; jlong last_chunk_len; HPROF_ASSERT(gdata->heap_fd >= 0); --- old/src/share/demo/jvmti/hprof/hprof_util.c Mon Jul 21 10:39:23 2008 +++ new/src/share/demo/jvmti/hprof/hprof_util.c Mon Jul 21 10:39:23 2008 @@ -1174,7 +1174,7 @@ finfo = empty_finfo; finfo.cnum = cnum; - finfo.modifiers = getFieldModifiers(klass, idlist[i]); + finfo.modifiers = (unsigned short)getFieldModifiers(klass, idlist[i]); if ( ( finfo.modifiers & JVM_ACC_STATIC ) == 0 || !skip_static_field_names ) { char *field_name; --- old/src/share/transport/shmem/shmemBack.c Mon Jul 21 10:39:25 2008 +++ new/src/share/transport/shmem/shmemBack.c Mon Jul 21 10:39:24 2008 @@ -96,7 +96,8 @@ */ if (err == JDWPTRANSPORT_ERROR_IO_ERROR) { char *join_str = ": "; - int msg_len = strlen(newmsg) + strlen(join_str) + strlen(buf) + 3; + int msg_len = (int)strlen(newmsg) + (int)strlen(join_str) + + (int)strlen(buf) + 3; msg = (*callbacks->alloc)(msg_len); if (msg != NULL) { strcpy(msg, newmsg); @@ -104,7 +105,7 @@ strcat(msg, buf); } } else { - msg = (*callbacks->alloc)(strlen(newmsg)+1); + msg = (*callbacks->alloc)((int)strlen(newmsg)+1); if (msg != NULL) { strcpy(msg, newmsg); } @@ -183,7 +184,7 @@ char *name2; rc = shmemBase_name(transport, &name); if (rc == SYS_OK) { - name2 = (callbacks->alloc)(strlen(name) + 1); + name2 = (callbacks->alloc)((int)strlen(name) + 1); if (name2 == NULL) { RETURN_ERROR(JDWPTRANSPORT_ERROR_OUT_OF_MEMORY, "out of memory"); } else { @@ -329,7 +330,7 @@ if (msg == NULL) { return JDWPTRANSPORT_ERROR_MSG_NOT_AVAILABLE; } - *msgP = (*callbacks->alloc)(strlen(msg)+1); + *msgP = (*callbacks->alloc)((int)strlen(msg)+1); if (*msgP == NULL) { return JDWPTRANSPORT_ERROR_OUT_OF_MEMORY; } --- old/src/share/transport/shmem/shmemBase.c Mon Jul 21 10:39:26 2008 +++ new/src/share/transport/shmem/shmemBase.c Mon Jul 21 10:39:26 2008 @@ -167,7 +167,7 @@ msg = (char *)sysTlsGet(tlsIndex); if (msg == NULL) { - msg = (*callback->alloc)(strlen(newmsg)+1); + msg = (*callback->alloc)((int)strlen(newmsg)+1); if (msg != NULL) { strcpy(msg, newmsg); } --- old/src/share/transport/socket/socketTransport.c Mon Jul 21 10:39:27 2008 +++ new/src/share/transport/socket/socketTransport.c Mon Jul 21 10:39:27 2008 @@ -85,7 +85,8 @@ if (err == JDWPTRANSPORT_ERROR_IO_ERROR) { char *join_str = ": "; - int msg_len = strlen(newmsg) + strlen(join_str) + strlen(buf) + 3; + int msg_len = (int)strlen(newmsg) + (int)strlen(join_str) + + (int)strlen(buf) + 3; msg = (*callback->alloc)(msg_len); if (msg != NULL) { strcpy(msg, newmsg); @@ -93,7 +94,7 @@ strcat(msg, buf); } } else { - msg = (*callback->alloc)(strlen(newmsg)+1); + msg = (*callback->alloc)((int)strlen(newmsg)+1); if (msg != NULL) { strcpy(msg, newmsg); } @@ -153,7 +154,7 @@ } buf = b; buf += received; - n = dbgsysRecv(fd, buf, strlen(hello)-received, 0); + n = dbgsysRecv(fd, buf, (int)strlen(hello)-received, 0); if (n == 0) { setLastError(0, "handshake failed - connection prematurally closed"); return JDWPTRANSPORT_ERROR_IO_ERROR; @@ -179,7 +180,7 @@ } } - if (dbgsysSend(fd, hello, strlen(hello), 0) != (int)strlen(hello)) { + if (dbgsysSend(fd, hello, (int)strlen(hello), 0) != (int)strlen(hello)) { RETURN_IO_ERROR("send failed during handshake"); } return JDWPTRANSPORT_ERROR_NONE; @@ -186,7 +187,7 @@ } static jdwpTransportError -parseAddress(const char *address, struct sockaddr_in *sa, UINT32 defaultHost) { +parseAddress(const char *address, struct sockaddr_in *sa, NETULONG defaultHost) { char *colon; memset((void *)sa,0,sizeof(struct sockaddr_in)); @@ -202,9 +203,9 @@ char *buf; char *hostname; u_short port; - UINT32 addr; + NETULONG addr; - buf = (*callback->alloc)(strlen(address)+1); + buf = (*callback->alloc)((int)strlen(address)+1); if (buf == NULL) { RETURN_ERROR(JDWPTRANSPORT_ERROR_OUT_OF_MEMORY, "out of memory"); } @@ -306,7 +307,7 @@ (struct sockaddr *)&sa, &len); portNum = dbgsysNetworkToHostShort(sa.sin_port); sprintf(buf, "%d", portNum); - *actualAddress = (*callback->alloc)(strlen(buf) + 1); + *actualAddress = (*callback->alloc)((int)strlen(buf) + 1); if (*actualAddress == NULL) { RETURN_ERROR(JDWPTRANSPORT_ERROR_OUT_OF_MEMORY, "out of memory"); } else { @@ -679,7 +680,7 @@ if (msg == NULL) { return JDWPTRANSPORT_ERROR_MSG_NOT_AVAILABLE; } - *msgP = (*callback->alloc)(strlen(msg)+1); + *msgP = (*callback->alloc)((int)strlen(msg)+1); if (*msgP == NULL) { return JDWPTRANSPORT_ERROR_OUT_OF_MEMORY; } --- old/src/share/transport/socket/sysSocket.h Mon Jul 21 10:39:29 2008 +++ new/src/share/transport/socket/sysSocket.h Mon Jul 21 10:39:28 2008 @@ -29,12 +29,13 @@ #include "sys.h" #include "socket_md.h" +/* Network long (32bits) */ #ifdef _LP64 -typedef unsigned int UINT32; -typedef int INT32; +typedef unsigned int NETULONG; +typedef int NETLONG; #else /* _LP64 */ -typedef unsigned long UINT32; -typedef long INT32; +typedef unsigned long NETULONG; +typedef long NETLONG; #endif /* _LP64 */ #define DBG_POLLIN 1 @@ -44,7 +45,7 @@ #define DBG_ETIMEOUT -200 int dbgsysSocketClose(int fd); -INT32 dbgsysSocketAvailable(int fd, INT32 *pbytes); +NETLONG dbgsysSocketAvailable(int fd, NETLONG *pbytes); int dbgsysConnect(int fd, struct sockaddr *him, int len); int dbgsysFinishConnect(int fd, long timeout); int dbgsysAccept(int fd, struct sockaddr *him, int *len); @@ -52,18 +53,18 @@ int tolen); int dbgsysRecvFrom(int fd, char *buf, int nbytes, int flags, struct sockaddr *from, int *fromlen); -int dbgsysListen(int fd, INT32 count); +int dbgsysListen(int fd, NETLONG count); int dbgsysRecv(int fd, char *buf, int nBytes, int flags); int dbgsysSend(int fd, char *buf, int nBytes, int flags); -int dbgsysTimeout(int fd, INT32 timeout); +int dbgsysTimeout(int fd, NETLONG timeout); struct hostent *dbgsysGetHostByName(char *hostname); int dbgsysSocket(int domain, int type, int protocol); int dbgsysBind(int fd, struct sockaddr *name, int namelen); int dbgsysSetSocketOption(int fd, jint cmd, jboolean on, jvalue value); -UINT32 dbgsysInetAddr(const char* cp); -UINT32 dbgsysHostToNetworkLong(UINT32 hostlong); +NETULONG dbgsysInetAddr(const char* cp); +NETULONG dbgsysHostToNetworkLong(NETULONG hostlong); unsigned short dbgsysHostToNetworkShort(unsigned short hostshort); -UINT32 dbgsysNetworkToHostLong(UINT32 netlong); +NETULONG dbgsysNetworkToHostLong(NETULONG netlong); unsigned short dbgsysNetworkToHostShort(unsigned short netshort); int dbgsysGetSocketName(int fd, struct sockaddr *him, int *len); int dbgsysConfigureBlocking(int fd, jboolean blocking); --- old/src/solaris/transport/socket/socket_md.c Mon Jul 21 10:39:30 2008 +++ new/src/solaris/transport/socket/socket_md.c Mon Jul 21 10:39:30 2008 @@ -45,7 +45,7 @@ #include "sysSocket.h" int -dbgsysListen(int fd, INT32 count) { +dbgsysListen(int fd, NETLONG count) { return listen(fd, count); } @@ -131,13 +131,13 @@ return bind(fd, name, namelen); } -UINT32 +NETULONG dbgsysInetAddr(const char* cp) { - return (UINT32)inet_addr(cp); + return (NETULONG)inet_addr(cp); } -UINT32 -dbgsysHostToNetworkLong(UINT32 hostlong) { +NETULONG +dbgsysHostToNetworkLong(NETULONG hostlong) { return htonl(hostlong); } @@ -151,8 +151,8 @@ return getsockname(fd, name, namelen); } -UINT32 -dbgsysNetworkToHostLong(UINT32 netlong) { +NETULONG +dbgsysNetworkToHostLong(NETULONG netlong) { return ntohl(netlong); } @@ -163,10 +163,10 @@ if (cmd == TCP_NODELAY) { struct protoent *proto = getprotobyname("TCP"); int tcp_level = (proto == 0 ? IPPROTO_TCP: proto->p_proto); - INT32 onl = (INT32)on; + NETLONG onl = (NETLONG)on; if (setsockopt(fd, tcp_level, TCP_NODELAY, - (char *)&onl, sizeof(INT32)) < 0) { + (char *)&onl, sizeof(NETLONG)) < 0) { return SYS_ERR; } } else if (cmd == SO_LINGER) { --- old/src/windows/transport/socket/socket_md.c Mon Jul 21 10:39:31 2008 +++ new/src/windows/transport/socket/socket_md.c Mon Jul 21 10:39:31 2008 @@ -120,7 +120,7 @@ * function pointer table, but our pointer should still be good. */ int -dbgsysListen(int fd, INT32 count) { +dbgsysListen(int fd, NETLONG count) { return listen(fd, (int)count); } @@ -172,7 +172,7 @@ int dbgsysAccept(int fd, struct sockaddr *name, int *namelen) { - return accept(fd, name, namelen); + return (int)accept(fd, name, namelen); } int @@ -209,7 +209,7 @@ int dbgsysSocket(int domain, int type, int protocol) { - int fd = socket(domain, type, protocol); + int fd = (int)socket(domain, type, protocol); if (fd != SOCKET_ERROR) { SetHandleInformation((HANDLE)(UINT_PTR)fd, HANDLE_FLAG_INHERIT, FALSE); } @@ -229,10 +229,10 @@ return closesocket(fd); } -INT32 -dbgsysSocketAvailable(int fd, INT32 *pbytes) { +NETLONG +dbgsysSocketAvailable(int fd, NETLONG *pbytes) { u_long arg = (u_long)*pbytes; - return (INT32)ioctlsocket(fd, FIONREAD, &arg); + return (NETLONG)ioctlsocket(fd, FIONREAD, &arg); } /* Additions to original follow */ @@ -243,14 +243,14 @@ } -UINT32 +NETULONG dbgsysInetAddr(const char* cp) { - return (UINT32)inet_addr(cp); + return (NETULONG)inet_addr(cp); } -UINT32 -dbgsysHostToNetworkLong(UINT32 hostlong) { - return (UINT32)htonl((u_long)hostlong); +NETULONG +dbgsysHostToNetworkLong(NETULONG hostlong) { + return (NETULONG)htonl((u_long)hostlong); } unsigned short @@ -263,9 +263,9 @@ return getsockname(fd, name, namelen); } -UINT32 -dbgsysNetworkToHostLong(UINT32 netlong) { - return (UINT32)ntohl((u_long)netlong); +NETULONG +dbgsysNetworkToHostLong(NETULONG netlong) { + return (NETULONG)ntohl((u_long)netlong); } /*