src/os/solaris/vm/os_solaris.cpp compilation failed on SPARC

Azeem Jiva azeem.jiva at oracle.com
Wed Oct 19 06:58:23 PDT 2011


I filed this as a CR a few weeks back:

7091417 - recvfrom's 6th input should be of type socklen_t

Azeem Jiva
@javawithjiva


On 10/19/2011 07:21 AM, Christian Thalinger wrote:
> Today when I tried to build solaris-sparc I got the following error:
>
> "/home/ct232829/hsx/hotspot-comp/7090904/src/os/solaris/vm/os_solaris.cpp", line 6440: Error: Formal argument 6 of type unsigned* in call to recvfrom(int, void*, unsigned, int, sockaddr*, unsigned*) is being passed int*.
> "/home/ct232829/hsx/hotspot-comp/7090904/src/os/solaris/vm/os_solaris.cpp", line 6440: Error: Formal argument 6 of type unsigned* in call to recvfrom(int, void*, unsigned, int, sockaddr*, unsigned*) is being passed int*.
>
> The compiler used was:
>
> $ CC -V
> CC: Sun C++ 5.10 SunOS_sparc 128228-09 2010/06/24
> Usage: CC [ options ] files.  Use 'CC -flags' for details
>
> The manpage has the following to say:
>
>       ssize_t recvfrom(int s, void *buf, size_t len, int flags,
>            struct sockaddr *from, socklen_t *fromlen);
>
> So the suggested fix would be:
>
> diff -r e5928e7dab26 src/os/solaris/vm/os_solaris.cpp
> --- a/src/os/solaris/vm/os_solaris.cpp
> +++ b/src/os/solaris/vm/os_solaris.cpp
> @@ -6437,7 +6437,7 @@ int os::recvfrom(int fd, char *buf, int
>                                sockaddr *from, int *fromlen) {
>      //%%note jvm_r11
>     INTERRUPTIBLE_RETURN_INT((int)::recvfrom(fd, buf, nBytes,\
> -    flags, from, fromlen), os::Solaris::clear_interrupted);
> +    flags, from, (socklen_t*) fromlen), os::Solaris::clear_interrupted);
>   }
>
>   int os::sendto(int fd, char *buf, int len, int flags,
>
> -- Chris


More information about the hotspot-runtime-dev mailing list