PPC-AIX Port to FreeBSD PowerPC Support

dalibor topic dalibor.topic at oracle.com
Mon Jan 11 16:27:32 UTC 2016


I'd suggest asking on bsd-port-dev, fwiw.

cheers,
dalibor topic

On 11.01.2016 17:23, Thomas Stüfe wrote:
> 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 <hamiltcl at verizon.net
> <mailto:hamiltcl at verizon.net>> 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:volker.simonis at gmail.com
>     <mailto:volker.simonis at gmail.com>]
>     *Sent:* Monday, January 11, 2016 5:22 AM
>     *To:* Curtis Hamilton <hamiltcl at verizon.net
>     <mailto:hamiltcl at verizon.net>>
>     *Cc:* ppc-aix-port-dev at openjdk.java.net
>     <mailto:ppc-aix-port-dev at openjdk.java.net>
>     *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
>     <hamiltcl at verizon.net <mailto: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____
>
>         ____
>
>         ____
>
>     __ __
>
>

-- 
<http://www.oracle.com> Dalibor Topic | Principal Product Manager
Phone: +494089091214 <tel:+494089091214> | Mobile: +491737185961
<tel:+491737185961>

ORACLE Deutschland B.V. & Co. KG | Kühnehöfe 5 | 22761 Hamburg

ORACLE Deutschland B.V. & Co. KG
Hauptverwaltung: Riesstr. 25, D-80992 München
Registergericht: Amtsgericht München, HRA 95603

Komplementärin: ORACLE Deutschland Verwaltung B.V.
Hertogswetering 163/167, 3543 AS Utrecht, Niederlande
Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697
Geschäftsführer: Alexander van der Ven, Astrid Kepper, Val Maher

<http://www.oracle.com/commitment> Oracle is committed to developing
practices and products that help protect the environment


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