Is there a bug id yet? I haven't seen one showing up in a quick search for dd_fd or perfMemory_solaris.cpp.

For the record, I'm on what I think is the required platform/compilers:

% uname -a
SunOS sca00bkv 5.11 11.1 sun4v sparc sun4v

% more /etc/release
                            Oracle Solaris 11.1 SPARC
Copyright (c) 1983, 2013, Oracle and/or its affiliates. All rights reserved.
                           Assembled 06 November 2013

% grep BUILD_CC out.txt
BUILD_CC:= /java/devtools/sparc/SUNWspro/SS12u3/bin/cc

Brad



On 1/23/2015 8:32 AM, Volker Simonis wrote:
Hi,

we can see the same in our nightly OpenJDK 8/9 builds
(http://cr.openjdk.java.net/~simonis/ppc-aix-port/) and would be
interested in a solution as well.

Thanks,
Volker

On Fri, Jan 23, 2015 at 5:19 AM, David Holmes <[email protected]> wrote:
Hi Anthony,


On 23/01/2015 10:33 AM, Anthony Scarpino wrote:

Hi,

I just pulled the jdk9/dev gate today and hit a build failure on SPARC
Solaris 11.1 when compiling perfMemory_solaris.cpp in hotspot.  I'm
using SS12u3 compilers.  Anyone else see a similar error or know what
might be going wrong?

...hotspot/src/os/solaris/vm/perfMemory_solaris.cpp", line 337: Error:
dd_fd is not a member of DIR.
...hotspot/src/os/solaris/vm/perfMemory_solaris.cpp", line 369: Error:
dd_fd is not a member of DIR."
gmake[8]: *** [perfMemory_solaris.o] Error 2


This code was brought in via the recent CPU integration of bug 8050807. (Hi
Jerry! - cc'd)

It looks like Solaris has two potential definitions of DIR:

#if defined(__USE_LEGACY_PROTOTYPES__)
/* traditional SVR4 definition */
typedef struct {
         int     dd_fd;          /* file descriptor */
         int     dd_loc;         /* offset in block */
         int     dd_size;        /* amount of valid data */
         char    *dd_buf;        /* directory block */
} DIR;                          /* stream data from opendir() */
#else
/* default definition (POSIX conformant) */
typedef struct {
         int     d_fd;           /* file descriptor */
         int     d_loc;          /* offset in block */
         int     d_size;         /* amount of valid data */
         char    *d_buf;         /* directory block */
} DIR;                          /* stream data from opendir() */
#endif  /* __USE_LEGACY_PROTOTYPES__ */

I can't see what controls __USE_LEGACY_PROTOTYPES__ but presumably either
something in Solaris 11.1, or something in SS12u3 is causing this
difference.

David

thanks

Tony

Reply via email to