Subject: ppc-aix-port-dev Digest, Vol 44, Issue 3
From: <[email-masked]>
To: <[email-masked]>
Date: Fri, 12 Feb 2016 03:28:14 -0500

Send ppc-aix-port-dev mailing list submissions to
	[email-masked]

To subscribe or unsubscribe via the World Wide Web, visit
	http://mail.openjdk.java.net/mailman/listinfo/ppc-aix-port-dev
or, via email, send a message with subject or body 'help' to
	[email-masked]

You can reach the person managing the list at
	[email-masked]

When replying, please edit your Subject line so it is more specific
than "Re: Contents of ppc-aix-port-dev digest..."

Subject: RE: PPC-AIX Port to FreeBSD PowerPC Support
From: "Lindenmaier, Goetz" <[email-masked]>
To: Thomas Stüfe <[email-masked]>, "Curtis Hamilton" <[email-masked]>
Cc: <[email-masked]>, <[email-masked]>
Date: Fri, 12 Feb 2016 03:27:45 -0500

Hi Curtis,

If SIGTRAP ist he problem, you could try -XX:-UseSIGTRAP.
This slows down null checks a bit, but this should not matter for now.

Best regards,
  Goetz

> -----Original Message-----
> From: ppc-aix-port-dev [mailto:ppc-aix-port-dev-
> [email-masked]] On Behalf Of Thomas Stüfe
> Sent: Freitag, 12. Februar 2016 08:08
> To: Curtis Hamilton <[email-masked]>
> Cc: [email-masked]; [email-masked]
> Subject: Re: PPC-AIX Port to FreeBSD PowerPC Support
>
> Hi Curtis,
>
> I think it makes sense to post this on the bsd list too.
>
> See my comments inline.
>
> On Fri, Feb 12, 2016 at 7:26 AM, Curtis Hamilton <[email-masked]
> <mailto:[email-masked]> > wrote:
>
>
>       Thomas/Volker,
>
>
>
>       Just wanted to give you an update on my bsd/ppc64 porting effort.
> I’m using the standard bsd openjdk8 port, as the bsd mercurial needs
> freebsd specific patches.
>
>
>
>       I’ve made progress modding the linux/ppc files to work under bsd
> and can successfully build a native (ppc64) JVM.  Here’s the output I get
> executing ‘java –version’
>
>
>
>       root@lenoil8:/usr/ports/java/openjdk8/work/openjdk/build/bsd-
> ppc64-normal-server-slowdebug/jdk/bin # ./java -version
>       openjdk version "1.8.0_72-debug"
>       OpenJDK Runtime Environment (build 1.8.0_72-debug-b15)
>       OpenJDK 64-Bit Server VM (build 25.72-b15-debug, mixed mode)
>       root@lenoil8:/usr/ports/java/openjdk8/work/openjdk/build/bsd-
> ppc64-normal-server-slowdebug/jdk/bin #
>
>
> Great Job!
>
>
>
>       I can compile and execute the basic “hello world”.  However,
> compiling more complicated java code results in a core dump.  See the
> following:
>
>
>
>       root@lenoil8:/usr/ports/java/openjdk8/work/openjdk/build/bsd-
> ppc64-normal-server-slowdebug/jdk/bin # ./javac HelloWorld.java
>       root@lenoil8:/usr/ports/java/openjdk8/work/openjdk/build/bsd-
> ppc64-normal-server-slowdebug/jdk/bin # ./java HelloWorld
>       Hello, World
>       root@lenoil8:/usr/ports/java/openjdk8/work/openjdk/build/bsd-
> ppc64-normal-server-slowdebug/jdk/bin # ./javac zip.java
>       Trace/BPT trap (core dumped)
>       root@lenoil8:/usr/ports/java/openjdk8/work/openjdk/build/bsd-
> ppc64-normal-server-slowdebug/jdk/bin # ./javac LargeZip.java
>       Trace/BPT trap (core dumped)
>       root@lenoil8:/usr/ports/java/openjdk8/work/openjdk/build/bsd-
> ppc64-normal-server-slowdebug/jdk/bin #
>
>       As you can see this is a debug build and I’ve been able to tell from the
> core dump, using gdb, that it’s getting a signal 5 at abort.
>
>
>
>
> I think SIGTRAP is used by the ppc JIT for some things (implicit nullchecks?
> Volker would know better). So, SIGTRAP must be handled for this to work.
>
> The JVM has a central signal handler, entry point is "signalHandler" in
> os_<os>.cpp, and then it goes on to, in your case, JVM_handler_bsd_signal()
> in os_bsd_ppc.cpp.
>
> So, make sure that
>
> 1) SIGTRAP is handled by this signal handler - I think, by default bsd does not
> install a signal handler for SIGTRAP. See os::Bsd::install_signal_handlers(),
> and compare it with the Linux version.
>
> 2) Then, SIGTRAP must be handled in JVM_handler_bsd_signal(). Compare
> with the SIGTRAP handling for Linux (os_linux_ppc.cpp). But if you copied
> that code, maybe SIGTRAP handling is already in place and (1) was all that
> was missing.
>
> Also note: The jvm normally writes a error log on crashes which is very useful
> ("hs_err_<pid>") but in your case it was not written at all, because no signal
> handler was installed for SIGTRAP. So, if you took care of (1) but (2) is still
> missing, you may still crash but with a real error report log this time.
>
> Side note: Magnus Ihse Bursie is cleaning up and repairing the BSD port, see:
> http://mail.openjdk.java.net/pipermail/bsd-port-dev/2016-
> January/002739.html
>
> His changes are not yet committed, but he posted a webrev with his changes
> (http://cr.openjdk.java.net/~ihse/JDK-8147795_addendum-bsd-source-
> patches/webrev.01/). It may make sense to integrate this in your build, he
> did some worthwhile fixes.
>
> Kind Regards, Thomas
>
>
>
>
>       Any recommendations on what to look at or how to further debug?
>
>
>
>       Regards,
>
>
>
>       Curtis
>
>
>
>       From: Curtis Hamilton [mailto:[email-masked]
> <mailto:[email-masked]> ]
>       Sent: Monday, January 11, 2016 3:29 PM
>       To: 'Thomas Stüfe' <[email-masked]
> <mailto:[email-masked]> >
>       Cc: 'Volker Simonis' <[email-masked]
> <mailto:[email-masked]> >; [email-masked]
> <mailto:[email-masked]> ' <ppc-aix-port-
> [email-masked] <mailto:[email-masked]> >
>       Subject: RE: PPC-AIX Port to FreeBSD PowerPC Support
>
>
>
>       Thomas,
>
>
>
>       Thanks for the vector check!
>
>
>
>       I agree that the AIX os is quite different from other unices (I have an
> old PowerStation 220 in my collection).  However, the ppc-aix-port was the
> first that contained code specific to the ppc.  Since there isn’t a ppc-bsd port,
> I needed somewhere to start.  PPC code for both AIX and Linux can be found
> in the same port.   The ports available on FreeBSD currently do contain any of
> the ppc headers or code.  So I decided to use a port that already had the ppc
> code and go from there.
>
>
>
>       Now that ppc code is being integrated into a more universal port, I
> just need to check which jdk8 port to work with.
>
>
>
>       Any recommendation?
>
>
>
>       Regards,
>
>       Curtis
>
>
>
>       From: Thomas Stüfe [mailto:[email-masked]
> <mailto:[email-masked]> ]
>       Sent: Monday, January 11, 2016 11:23 AM
>       To: Curtis Hamilton <[email-masked]
> <mailto:[email-masked]> >
>       Cc: Volker Simonis <[email-masked]
> <mailto:[email-masked]> >; [email-masked]
> <mailto:[email-masked]>
>
>
>       Subject: Re: PPC-AIX Port to FreeBSD PowerPC Support
>
>
>
>
>
>       Hi Curtis,
>
>
>
>       I am not sure that AIX ppc would be the best source for an BSD port.
> AIX os port contains a large number of AIX specifics and it is quite a bit
> different (sometimes, needlessly) from the other Unices. It is also a moving
> target, at least on jdk9, as we changed a lot in the AIX os port and will change
> more until the next feature close.
>
>
>
>       So, it may be that linux ppc would be a better porting source for a bsd
> ppc port.
>
>
>
>       Kind Regards, Thomas
>
>
>
>
>
>
>
>
>
>
>
>       On Mon, Jan 11, 2016 at 3:21 PM, Curtis Hamilton
> <[email-masked] <mailto:[email-masked]> > wrote:
>
>               Volker,
>
>
>
>               Thanks for the response.
>
>
>
>               Yes, I’m using the mercurial jdk7u ppc-aix version.  The
> reason I used this port version was because I was more familiar with the build
> layout of jdk7 versus jdk8/jdk9.  And it seemed like an easier target to start
> with, since it already supported ppc64 on AIX and Linux.
>
>
>
>               Full disclosure, I’ve been successful in building zero vm for
> both jdk7 and jdk8 on ppc64/FreeBSD.   They both work great.  The system
> performance is somewhat sluggish, but usable.  So I decided to see if I could
> build native ppc64 versions leveraging the existing AIX and Linux ppc64
> support in the ppc-aix-port, since the bsd-port lacks support for PowerPC.
>
>
>
>               I’m aware of the integration effort for jdk9.  So on your
> advice, I will start working with ppc-aix jdk8u.  I don’t want anyone to waste
> time with jdk7u. Although my efforts with this older version is not completely
> wasted.
>
>
>
>               I look forward to contributing to the ppc64/bsd port OpenJDK
> integration effort.
>
>
>
>               Regards,
>
>               Curtis
>
>
>
>               From: Volker Simonis [mailto:[email-masked]
> <mailto:[email-masked]> ]
>               Sent: Monday, January 11, 2016 5:22 AM
>               To: Curtis Hamilton <[email-masked]
> <mailto:[email-masked]> >
>               Cc: [email-masked] <mailto:ppc-aix-port-
> [email-masked]>
>               Subject: Re: PPC-AIX Port to FreeBSD PowerPC Support
>
>
>
>               Hi Curtis,
>
>               no, I'm not aware of any effort to port the ppc64 port to BSD.
>
>               My first question is why are you building jdk7. It is quite old
> and we don't actually support it any more. It was also never integrated into
> the main jdk7u branch. I'd strongly recommend to use at least the jdk8u
> version. If you plan to contribute the ppc64/bsd port for integration into the
> OpenJDK, this has to be done into the head revision (currently jdk9) anyway.
> Once it's there, it may be possible to downport it to jdk8u (but not to jdk7u
> because that on doesn't even contain the ppc64 port).
>
>               That said, which version of jdk7u are you using? Is it the one
> from http://hg.openjdk.java.net/ppc-aix-port/jdk7u/ ?
>
>               One problem you may encounter with jdk7u is that it was
> never compiled with new versions of gcc. I see you are using gcc4.8 but we
> used 4.1.2 back then when we were doing the port.
>
>               Another problem is that we didn't support the serviceability
> agent in jdk7u. Support for the SA agent on Linux/ppc64 (but not for AIX) was
> added in jdk8. The error you see in vmStructs.cpp is most probably from SA
> coding. How does your file vmStructs_bsd_ppc.hpp looks like. As you can
> see, vmStructs_linux_ppc.hpp is empty in jdk7u for the ppc64 port while it
> has some code in jdk8u-dev and jdk9.
>
>               Unfortunately the place in vmStructs.cpp where the error
> happens is deeply nested macro coding so it's hard to say what's wrong from
> the error message. You could preprocess the file and post that to the list,
> maybe we can see more. Just issue the following command from a shell from
> within /usr/ports/tmp/jdk7u/build/bsd-
> ppc/hotspot/outputdir/bsd_ppc64_compiler2/product:
>
>                g++48 -DBSD -DPPC64 -D_ALLBSD_SOURCE -
> D_GNU_SOURCE -DPRODUCT  -
> I/usr/ports/tmp/jdk7u/hotspot/src/share/vm/prims -
> I/usr/ports/tmp/jdk7u/hotspot/src/share/vm -
> I/usr/ports/tmp/jdk7u/hotspot/src/share/vm/precompiled -
> I/usr/ports/tmp/jdk7u/hotspot/src/cpu/ppc/vm -
> I/usr/ports/tmp/jdk7u/hotspot/src/os_cpu/bsd_ppc/vm -
> I/usr/ports/tmp/jdk7u/hotspot/src/os/bsd/vm -
> I/usr/ports/tmp/jdk7u/hotspot/src/os/posix/vm -I../generated -
> DHOTSPOT_RELEASE_VERSION="\"24.80-b11\"" -
> DHOTSPOT_BUILD_TARGET="\"product\"" -
> DHOTSPOT_BUILD_USER="\"root\"" -DHOTSPOT_LIB_ARCH=\"ppc\" -
> DHOTSPOT_VM_DISTRO="\"OpenJDK\"" -
> DDEFAULT_LIBPATH="\"/lib:/usr/lib:/usr/local/lib\"" -
> DTARGET_OS_FAMILY_bsd -DTARGET_ARCH_ppc -
> DTARGET_ARCH_MODEL_ppc_64 -DTARGET_OS_ARCH_bsd_ppc -
> DTARGET_OS_ARCH_MODEL_bsd_ppc_64 -DTARGET_COMPILER_gcc -
> DCOMPILER2 -fPIC -fno-rtti -fno-exceptions -pthread -fcheck-new -
> mpowerpc64 -pipe -DDONT_USE_PRECOMPILED_HEADER -O3 -fno-strict-
> aliasing -D_LP64=1 -m64 -mminimal-toc -mcpu=powerpc64 -mtune=power5 -
> minsert-sched-nops=regroup_exact -mno-multiple -mno-string -
> DSAFEFETCH_STUBS -DINCLUDE_TRACE=1 -Werror -Wpointer-arith -
> Wconversion -Wsign-compare    -E
> /usr/ports/tmp/jdk7u/hotspot/src/share/vm/runtime/vmStructs.cpp
>
>               Regards,
>
>               Volker
>
>
>
>               On Sun, Jan 10, 2016 at 3:04 PM, Curtis Hamilton
> <[email-masked] <mailto:[email-masked]> > wrote:
>
>                       Hello,
>
>                       I’d like to know if there’s been any work done to
> support PPC for *BSD?
>
>                       I’ve hacked both the AIX and Linux PPC headers but
> have been unsuccessful in building HotSpot.  All modules seem to build with
> the exception of VMStructs.cpp with the below error.
>
>
>       /usr/ports/tmp/jdk7u/hotspot/src/share/vm/runtime/vmStructs.cp
> p: In static member function 'static void VMStructs::init()':
>
>       /usr/ports/tmp/jdk7u/hotspot/src/share/vm/runtime/vmStructs.cp
> p:3015: error: cannot convert 'pthread**' to 'pid_t*' in initialization
>
>                       Build log is attached.
>
>                       Thanks in advance!
>
>
>
>                       Curtis
>
>
>
>
>
>
>

Subject: Re: PPC-AIX Port to FreeBSD PowerPC Support
From: "Volker Simonis" <[email-masked]>
To: Thomas Stüfe <[email-masked]>
Cc: "Curtis Hamilton" <[email-masked]>, <[email-masked]>, <[email-masked]>
Date: Fri, 12 Feb 2016 03:28:10 -0500

Hi Curtis,

congratulations from my side as well. Running HelloWorld is always an
important milestone when porting the OpenJDK to a new platform!

I think Thomas already gave you the right hints. It's true that
SIGTRAP is used a lot within HotSpot and you really need to handle it
correctly.

As a quick workaround you could also try to use -XX:-UseSIGTRAP which
should switch off the usage of SIGTRAP within the VM. You also have to
use this switch when debugging the VM in a native debugger like gdb
because the debugger also uses SIGTRAP internally.

Regards,
Volker

On Fri, Feb 12, 2016 at 8:08 AM, Thomas Stüfe <[email-masked]> wrote:
> Hi Curtis,
>
> I think it makes sense to post this on the bsd list too.
>
> See my comments inline.
>
> On Fri, Feb 12, 2016 at 7:26 AM, Curtis Hamilton <[email-masked]>
> wrote:
>>
>> Thomas/Volker,
>>
>>
>>
>> Just wanted to give you an update on my bsd/ppc64 porting effort.  I’m
>> using the standard bsd openjdk8 port, as the bsd mercurial needs freebsd
>> specific patches.
>>
>>
>>
>> I’ve made progress modding the linux/ppc files to work under bsd and can
>> successfully build a native (ppc64) JVM.  Here’s the output I get executing
>> ‘java –version’
>>
>>
>>
>>
>> root@lenoil8:/usr/ports/java/openjdk8/work/openjdk/build/bsd-ppc64-normal-server-slowdebug/jdk/bin
>> # ./java -version
>> openjdk version "1.8.0_72-debug"
>> OpenJDK Runtime Environment (build 1.8.0_72-debug-b15)
>> OpenJDK 64-Bit Server VM (build 25.72-b15-debug, mixed mode)
>>
>> root@lenoil8:/usr/ports/java/openjdk8/work/openjdk/build/bsd-ppc64-normal-server-slowdebug/jdk/bin
>> #
>
>
> Great Job!
>>
>> I can compile and execute the basic “hello world”.  However, compiling
>> more complicated java code results in a core dump.  See the following:
>>
>>
>>
>>
>> root@lenoil8:/usr/ports/java/openjdk8/work/openjdk/build/bsd-ppc64-normal-server-slowdebug/jdk/bin
>> # ./javac HelloWorld.java
>>
>> root@lenoil8:/usr/ports/java/openjdk8/work/openjdk/build/bsd-ppc64-normal-server-slowdebug/jdk/bin
>> # ./java HelloWorld
>> Hello, World
>>
>> root@lenoil8:/usr/ports/java/openjdk8/work/openjdk/build/bsd-ppc64-normal-server-slowdebug/jdk/bin
>> # ./javac zip.java
>> Trace/BPT trap (core dumped)
>>
>> root@lenoil8:/usr/ports/java/openjdk8/work/openjdk/build/bsd-ppc64-normal-server-slowdebug/jdk/bin
>> # ./javac LargeZip.java
>> Trace/BPT trap (core dumped)
>>
>> root@lenoil8:/usr/ports/java/openjdk8/work/openjdk/build/bsd-ppc64-normal-server-slowdebug/jdk/bin
>> #
>>
>> As you can see this is a debug build and I’ve been able to tell from the
>> core dump, using gdb, that it’s getting a signal 5 at abort.
>>
>>
>
>
> I think SIGTRAP is used by the ppc JIT for some things (implicit nullchecks?
> Volker would know better). So, SIGTRAP must be handled for this to work.
>
> The JVM has a central signal handler, entry point is "signalHandler" in
> os_<os>.cpp, and then it goes on to, in your case, JVM_handler_bsd_signal()
> in os_bsd_ppc.cpp.
>
> So, make sure that
>
> 1) SIGTRAP is handled by this signal handler - I think, by default bsd does
> not install a signal handler for SIGTRAP. See
> os::Bsd::install_signal_handlers(), and compare it with the Linux version.
>
> 2) Then, SIGTRAP must be handled in JVM_handler_bsd_signal(). Compare with
> the SIGTRAP handling for Linux (os_linux_ppc.cpp). But if you copied that
> code, maybe SIGTRAP handling is already in place and (1) was all that was
> missing.
>
> Also note: The jvm normally writes a error log on crashes which is very
> useful ("hs_err_<pid>") but in your case it was not written at all, because
> no signal handler was installed for SIGTRAP. So, if you took care of (1) but
> (2) is still missing, you may still crash but with a real error report log
> this time.
>
> Side note: Magnus Ihse Bursie is cleaning up and repairing the BSD port,
> see:
> http://mail.openjdk.java.net/pipermail/bsd-port-dev/2016-January/002739.html
>
> His changes are not yet committed, but he posted a webrev with his changes
> (http://cr.openjdk.java.net/~ihse/JDK-8147795_addendum-bsd-source-patches/webrev.01/).
> It may make sense to integrate this in your build, he did some worthwhile
> fixes.
>
> Kind Regards, Thomas
>
>>
>> Any recommendations on what to look at or how to further debug?
>>
>>
>>
>> Regards,
>>
>>
>>
>> Curtis
>>
>>
>>
>> From: Curtis Hamilton [mailto:[email-masked]]
>> Sent: Monday, January 11, 2016 3:29 PM
>> To: 'Thomas Stüfe' <[email-masked]>
>> Cc: 'Volker Simonis' <[email-masked]>;
>> [email-masked]' <[email-masked]>
>> Subject: RE: PPC-AIX Port to FreeBSD PowerPC Support
>>
>>
>>
>> Thomas,
>>
>>
>>
>> Thanks for the vector check!
>>
>>
>>
>> I agree that the AIX os is quite different from other unices (I have an
>> old PowerStation 220 in my collection).  However, the ppc-aix-port was the
>> first that contained code specific to the ppc.  Since there isn’t a ppc-bsd
>> port, I needed somewhere to start.  PPC code for both AIX and Linux can be
>> found in the same port.   The ports available on FreeBSD currently do
>> contain any of the ppc headers or code.  So I decided to use a port that
>> already had the ppc code and go from there.
>>
>>
>>
>> Now that ppc code is being integrated into a more universal port, I just
>> need to check which jdk8 port to work with.
>>
>>
>>
>> Any recommendation?
>>
>>
>>
>> Regards,
>>
>> Curtis
>>
>>
>>
>> From: Thomas Stüfe [mailto:[email-masked]]
>> Sent: Monday, January 11, 2016 11:23 AM
>> To: Curtis Hamilton <[email-masked]>
>> Cc: Volker Simonis <[email-masked]>;
>> [email-masked]
>>
>>
>> Subject: Re: PPC-AIX Port to FreeBSD PowerPC Support
>>
>>
>>
>> Hi Curtis,
>>
>>
>>
>> I am not sure that AIX ppc would be the best source for an BSD port. AIX
>> os port contains a large number of AIX specifics and it is quite a bit
>> different (sometimes, needlessly) from the other Unices. It is also a moving
>> target, at least on jdk9, as we changed a lot in the AIX os port and will
>> change more until the next feature close.
>>
>>
>>
>> So, it may be that linux ppc would be a better porting source for a bsd
>> ppc port.
>>
>>
>>
>> Kind Regards, Thomas
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> On Mon, Jan 11, 2016 at 3:21 PM, Curtis Hamilton <[email-masked]>
>> wrote:
>>
>> Volker,
>>
>>
>>
>> Thanks for the response.
>>
>>
>>
>> Yes, I’m using the mercurial jdk7u ppc-aix version.  The reason I used
>> this port version was because I was more familiar with the build layout of
>> jdk7 versus jdk8/jdk9.  And it seemed like an easier target to start with,
>> since it already supported ppc64 on AIX and Linux.
>>
>>
>>
>> Full disclosure, I’ve been successful in building zero vm for both jdk7
>> and jdk8 on ppc64/FreeBSD.   They both work great.  The system performance
>> is somewhat sluggish, but usable.  So I decided to see if I could build
>> native ppc64 versions leveraging the existing AIX and Linux ppc64 support in
>> the ppc-aix-port, since the bsd-port lacks support for PowerPC.
>>
>>
>>
>> I’m aware of the integration effort for jdk9.  So on your advice, I will
>> start working with ppc-aix jdk8u.  I don’t want anyone to waste time with
>> jdk7u. Although my efforts with this older version is not completely wasted.
>>
>>
>>
>> I look forward to contributing to the ppc64/bsd port OpenJDK integration
>> effort.
>>
>>
>>
>> Regards,
>>
>> Curtis
>>
>>
>>
>> From: Volker Simonis [mailto:[email-masked]]
>> Sent: Monday, January 11, 2016 5:22 AM
>> To: Curtis Hamilton <[email-masked]>
>> Cc: [email-masked]
>> Subject: Re: PPC-AIX Port to FreeBSD PowerPC Support
>>
>>
>>
>> Hi Curtis,
>>
>> no, I'm not aware of any effort to port the ppc64 port to BSD.
>>
>> My first question is why are you building jdk7. It is quite old and we
>> don't actually support it any more. It was also never integrated into the
>> main jdk7u branch. I'd strongly recommend to use at least the jdk8u version.
>> If you plan to contribute the ppc64/bsd port for integration into the
>> OpenJDK, this has to be done into the head revision (currently jdk9) anyway.
>> Once it's there, it may be possible to downport it to jdk8u (but not to
>> jdk7u because that on doesn't even contain the ppc64 port).
>>
>> That said, which version of jdk7u are you using? Is it the one from
>> http://hg.openjdk.java.net/ppc-aix-port/jdk7u/ ?
>>
>> One problem you may encounter with jdk7u is that it was never compiled
>> with new versions of gcc. I see you are using gcc4.8 but we used 4.1.2 back
>> then when we were doing the port.
>>
>> Another problem is that we didn't support the serviceability agent in
>> jdk7u. Support for the SA agent on Linux/ppc64 (but not for AIX) was added
>> in jdk8. The error you see in vmStructs.cpp is most probably from SA coding.
>> How does your file vmStructs_bsd_ppc.hpp looks like. As you can see,
>> vmStructs_linux_ppc.hpp is empty in jdk7u for the ppc64 port while it has
>> some code in jdk8u-dev and jdk9.
>>
>> Unfortunately the place in vmStructs.cpp where the error happens is deeply
>> nested macro coding so it's hard to say what's wrong from the error message.
>> You could preprocess the file and post that to the list, maybe we can see
>> more. Just issue the following command from a shell from within
>> /usr/ports/tmp/jdk7u/build/bsd-ppc/hotspot/outputdir/bsd_ppc64_compiler2/product:
>>
>>  g++48 -DBSD -DPPC64 -D_ALLBSD_SOURCE -D_GNU_SOURCE -DPRODUCT
>> -I/usr/ports/tmp/jdk7u/hotspot/src/share/vm/prims
>> -I/usr/ports/tmp/jdk7u/hotspot/src/share/vm
>> -I/usr/ports/tmp/jdk7u/hotspot/src/share/vm/precompiled
>> -I/usr/ports/tmp/jdk7u/hotspot/src/cpu/ppc/vm
>> -I/usr/ports/tmp/jdk7u/hotspot/src/os_cpu/bsd_ppc/vm
>> -I/usr/ports/tmp/jdk7u/hotspot/src/os/bsd/vm
>> -I/usr/ports/tmp/jdk7u/hotspot/src/os/posix/vm -I../generated
>> -DHOTSPOT_RELEASE_VERSION="\"24.80-b11\""
>> -DHOTSPOT_BUILD_TARGET="\"product\"" -DHOTSPOT_BUILD_USER="\"root\""
>> -DHOTSPOT_LIB_ARCH=\"ppc\" -DHOTSPOT_VM_DISTRO="\"OpenJDK\""
>> -DDEFAULT_LIBPATH="\"/lib:/usr/lib:/usr/local/lib\"" -DTARGET_OS_FAMILY_bsd
>> -DTARGET_ARCH_ppc -DTARGET_ARCH_MODEL_ppc_64 -DTARGET_OS_ARCH_bsd_ppc
>> -DTARGET_OS_ARCH_MODEL_bsd_ppc_64 -DTARGET_COMPILER_gcc -DCOMPILER2 -fPIC
>> -fno-rtti -fno-exceptions -pthread -fcheck-new -mpowerpc64 -pipe
>> -DDONT_USE_PRECOMPILED_HEADER -O3 -fno-strict-aliasing -D_LP64=1 -m64
>> -mminimal-toc -mcpu=powerpc64 -mtune=power5
>> -minsert-sched-nops=regroup_exact -mno-multiple -mno-string
>> -DSAFEFETCH_STUBS -DINCLUDE_TRACE=1 -Werror -Wpointer-arith -Wconversion
>> -Wsign-compare    -E
>> /usr/ports/tmp/jdk7u/hotspot/src/share/vm/runtime/vmStructs.cpp
>>
>> Regards,
>>
>> Volker
>>
>>
>>
>> On Sun, Jan 10, 2016 at 3:04 PM, Curtis Hamilton <[email-masked]>
>> wrote:
>>
>> Hello,
>>
>> I’d like to know if there’s been any work done to support PPC for *BSD?
>>
>> I’ve hacked both the AIX and Linux PPC headers but have been unsuccessful
>> in building HotSpot.  All modules seem to build with the exception of
>> VMStructs.cpp with the below error.
>>
>> /usr/ports/tmp/jdk7u/hotspot/src/share/vm/runtime/vmStructs.cpp: In static
>> member function 'static void VMStructs::init()':
>> /usr/ports/tmp/jdk7u/hotspot/src/share/vm/runtime/vmStructs.cpp:3015:
>> error: cannot convert 'pthread**' to 'pid_t*' in initialization
>>
>> Build log is attached.
>>
>> Thanks in advance!
>>
>>
>>
>> Curtis
>>
>>
>>
>>
>>
>>
>
>