HotSpot build on SPARC/Solaris
Azeem Jiva
azeem.jiva at oracle.com
Tue Sep 6 13:21:45 PDT 2011
Trying to build on SPARC/Solaris I get the following error:
"/root/hsx/src/os/solaris/vm/os_solaris.cpp", line 6428: Error: Formal
argument 6 of type unsigned* in call to recvfrom(int, void*, unsigned
long, int, sockaddr*, unsigned*) is being passed int*.
"/root/hsx/src/os/solaris/vm/os_solaris.cpp", line 6428: Error: Formal
argument 6 of type unsigned* in call to recvfrom(int, void*, unsigned
long, int, sockaddr*, unsigned*) is being passed int*.
It seems the method signature changed in Solaris 11 from int pointer to
an unsigned pointer. I can get around the issue by casting fromlen to
an unsigned pointer, but that's dangerous. I guess I'm looking for
ideas for a better solution to this.
diff -r 7588156f5cf9 src/os/solaris/vm/os_solaris.cpp
--- a/src/os/solaris/vm/os_solaris.cpp Mon Sep 05 17:09:05 2011 -0700
+++ b/src/os/solaris/vm/os_solaris.cpp Tue Sep 06 20:07:09 2011 +0000
@@ -6425,7 +6425,7 @@
sockaddr *from, int *fromlen) {
//%%note jvm_r11
INTERRUPTIBLE_RETURN_INT((int)::recvfrom(fd, buf, nBytes,\
- flags, from, fromlen), os::Solaris::clear_interrupted);
+ flags, from, (unsigned*)fromlen), os::Solaris::clear_interrupted);
}
int os::sendto(int fd, char *buf, int len, int flags,
--
Azeem Jiva
@javawithjiva
More information about the hotspot-compiler-dev
mailing list