Fwd: HotSpot build on SPARC/Solaris

David Holmes David.Holmes at oracle.com
Wed Sep 7 00:55:29 PDT 2011


The 6th arg is a socklen_t* so cast to socklen_t*

Cheers,
David

On 7/09/2011 4:46 PM, Christian Thalinger wrote:
> This is more a runtime issue.  Forwarding to hotspot-runtime-dev and BCC'ing hotspot-compiler-dev.
>
> -- Christian
>
> Begin forwarded message:
>
>> From: Azeem Jiva<azeem.jiva at oracle.com>
>> Subject: HotSpot build on SPARC/Solaris
>> Date: September 6, 2011 10:21:45 PM GMT+02:00
>> To: hotspot-compiler-dev at openjdk.java.net
>>
>> 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-runtime-dev mailing list