PPC-AIX Port to FreeBSD PowerPC Support

Volker Simonis volker.simonis at gmail.com
Mon Jan 11 10:22:02 UTC 2016


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 <hamiltcl at verizon.net>
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
>
> [image: https://ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif]
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20160111/19834797/attachment.html>


More information about the ppc-aix-port-dev mailing list