Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 Feb 2016 14:09:00 -0500
From:      Joe Nosay <superbisquit@gmail.com>
To:        Curtis Hamilton <hamiltcl@verizon.net>, bsd-port-dev@openjdk.java.net, java@freebsd.org
Subject:   Re: FreeBSD PowerPC Port
Message-ID:  <CA%2BWntOtzm=9jaiB2HtC2aZRPjdwySMXSf2i4mmjBNUpzV0%2BPKQ@mail.gmail.com>
In-Reply-To: <012601d16597$1a53c660$4efb5320$@verizon.net>
References:  <012601d16597$1a53c660$4efb5320$@verizon.net>

next in thread | previous in thread | raw e-mail | index | archive | help
The way I had stated this to be done as was based upon Greg Lewis's advice
to me is as such:
1. Boot strap using FreeBSD AMD64/i386 with NFS version 4 to either
PowerPC^4 or PowerPC 32.
2. Recreate all of the binaries and libraries needed to build the
AMD64/i386 port.
3. Rewrite the Makefiles to build directly on the PowerPC machines using
the now created files.
4. Once you have done this, then you will have a natively built port on the
FreeBSD PowerPC32/64 machine.
5. I had posted this advice  on the FreeBSD forums and the mailing lists a
while back.
6. Instructions to doing this have also been described on the forums for
other architectures.
7. Do more research next time to see if any effort has been made.

On Fri, Feb 12, 2016 at 8:11 AM, Curtis Hamilton <hamiltcl@verizon.net>
wrote:

> I'm working on a native PowerPC port of JDK8.   I've been successful in
> building a Zero JVM.
>
> I originally posted information on this effort to the AIX-PPC list,
> however, it was recommended to post to the BSD list(s) as well. See the
> attached for background.
>
> To date, using the Linux PPC code set, I've been able to build a partiall=
y
> working native PPC64 JVM.  I developed initial patches that can be used t=
o
> build using the latest FreeBSD port.
>
> I can make this work available to anyone interested in helping in this
> effort.
>
> Regards,
> Curtis
>
>
> ---------- Forwarded message ----------
> From: <ppc-aix-port-dev-request@openjdk.java.net>
> To: <ppc-aix-port-dev@openjdk.java.net>
> Cc:
> Date: Fri, 12 Feb 2016 03:28:14 -0500
> Subject: ppc-aix-port-dev Digest, Vol 44, Issue 3
> Send ppc-aix-port-dev mailing list submissions to
>         ppc-aix-port-dev@openjdk.java.net
>
> 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
>         ppc-aix-port-dev-request@openjdk.java.net
>
> You can reach the person managing the list at
>         ppc-aix-port-dev-owner@openjdk.java.net
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of ppc-aix-port-dev digest..."
>
>
> ---------- Forwarded message ----------
> From: "Lindenmaier, Goetz" <goetz.lindenmaier@sap.com>
> To: "Thomas St=C3=BCfe" <thomas.stuefe@gmail.com>, Curtis Hamilton <
> hamiltcl@verizon.net>
> Cc: <ppc-aix-port-dev@openjdk.java.net>, <bsd-port-dev@openjdk.java.net>
> Date: Fri, 12 Feb 2016 03:27:45 -0500
> Subject: RE: PPC-AIX Port to FreeBSD PowerPC Support
> 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-
> > bounces@openjdk.java.net] On Behalf Of Thomas St=C3=BCfe
> > Sent: Freitag, 12. Februar 2016 08:08
> > To: Curtis Hamilton <hamiltcl@verizon.net>
> > Cc: ppc-aix-port-dev@openjdk.java.net; bsd-port-dev@openjdk.java.net
> > 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 <hamiltcl@verizon.net
> > <mailto:hamiltcl@verizon.net> > wrote:
> >
> >
> >       Thomas/Volker,
> >
> >
> >
> >       Just wanted to give you an update on my bsd/ppc64 porting effort.
> > I=E2=80=99m using the standard bsd openjdk8 port, as the bsd mercurial =
needs
> > freebsd specific patches.
> >
> >
> >
> >       I=E2=80=99ve made progress modding the linux/ppc files to work un=
der bsd
> > and can successfully build a native (ppc64) JVM.  Here=E2=80=99s the ou=
tput I get
> > executing =E2=80=98java =E2=80=93version=E2=80=99
> >
> >
> >
> >       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 =E2=80=9Chello world=E2=80=9D=
.  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=E2=80=99ve been able t=
o tell
> from the
> > core dump, using gdb, that it=E2=80=99s 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 copi=
ed
> > 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:hamiltcl@verizon.net
> > <mailto:hamiltcl@verizon.net> ]
> >       Sent: Monday, January 11, 2016 3:29 PM
> >       To: 'Thomas St=C3=BCfe' <thomas.stuefe@gmail.com
> > <mailto:thomas.stuefe@gmail.com> >
> >       Cc: 'Volker Simonis' <volker.simonis@gmail.com
> > <mailto:volker.simonis@gmail.com> >; 'ppc-aix-port-dev@openjdk.java.net
> > <mailto:ppc-aix-port-dev@openjdk.java.net> ' <ppc-aix-port-
> > dev@openjdk.java.net <mailto:ppc-aix-port-dev@openjdk.java.net> >
> >       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=E2=80=
=99t 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=C3=BCfe [mailto:thomas.stuefe@gmail.com
> > <mailto:thomas.stuefe@gmail.com> ]
> >       Sent: Monday, January 11, 2016 11:23 AM
> >       To: Curtis Hamilton <hamiltcl@verizon.net
> > <mailto:hamiltcl@verizon.net> >
> >       Cc: Volker Simonis <volker.simonis@gmail.com
> > <mailto:volker.simonis@gmail.com> >; ppc-aix-port-dev@openjdk.java.net
> > <mailto:ppc-aix-port-dev@openjdk.java.net>
> >
> >
> >       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
> > <hamiltcl@verizon.net <mailto:hamiltcl@verizon.net> > wrote:
> >
> >               Volker,
> >
> >
> >
> >               Thanks for the response.
> >
> >
> >
> >               Yes, I=E2=80=99m using the mercurial jdk7u ppc-aix versio=
n.  The
> > reason I used this port version was because I was more familiar with th=
e
> build
> > layout of jdk7 versus jdk8/jdk9.  And it seemed like an easier target t=
o
> start
> > with, since it already supported ppc64 on AIX and Linux.
> >
> >
> >
> >               Full disclosure, I=E2=80=99ve been successful in building=
 zero vm
> for
> > both jdk7 and jdk8 on ppc64/FreeBSD.   They both work great.  The syste=
m
> > 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=E2=80=99m aware of the integration effort for jdk9.  So=
 on your
> > advice, I will start working with ppc-aix jdk8u.  I don=E2=80=99t 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@gmail.com
> > <mailto:volker.simonis@gmail.com> ]
> >               Sent: Monday, January 11, 2016 5:22 AM
> >               To: Curtis Hamilton <hamiltcl@verizon.net
> > <mailto:hamiltcl@verizon.net> >
> >               Cc: ppc-aix-port-dev@openjdk.java.net <mailto:
> ppc-aix-port-
> > dev@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 th=
e
> 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 fr=
om
> > 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=3D"\"24.80-b11\"" -
> > DHOTSPOT_BUILD_TARGET=3D"\"product\"" -
> > DHOTSPOT_BUILD_USER=3D"\"root\"" -DHOTSPOT_LIB_ARCH=3D\"ppc\" -
> > DHOTSPOT_VM_DISTRO=3D"\"OpenJDK\"" -
> > DDEFAULT_LIBPATH=3D"\"/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=3D1 -m64 -mminimal-toc -mcpu=3Dpowerpc64 -mtune=3Dpowe=
r5 -
> > minsert-sched-nops=3Dregroup_exact -mno-multiple -mno-string -
> > DSAFEFETCH_STUBS -DINCLUDE_TRACE=3D1 -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@verizon.net <mailto:hamiltcl@verizon.net> > wrote:
> >
> >                       Hello,
> >
> >                       I=E2=80=99d like to know if there=E2=80=99s been =
any work done to
> > support PPC for *BSD?
> >
> >                       I=E2=80=99ve hacked both the AIX and Linux PPC he=
aders 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
> >
> >
> >
> >
> >
> >
> >
>
>
>
> ---------- Forwarded message ----------
> From: Volker Simonis <volker.simonis@gmail.com>
> To: "Thomas St=C3=BCfe" <thomas.stuefe@gmail.com>
> Cc: Curtis Hamilton <hamiltcl@verizon.net>, <
> ppc-aix-port-dev@openjdk.java.net>, <bsd-port-dev@openjdk.java.net>
> Date: Fri, 12 Feb 2016 03:28:10 -0500
> Subject: Re: PPC-AIX Port to FreeBSD PowerPC Support
> 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=C3=BCfe <thomas.stuefe@gmail.c=
om>
> 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 <hamiltcl@verizon.net>
> > wrote:
> >>
> >> Thomas/Volker,
> >>
> >>
> >>
> >> Just wanted to give you an update on my bsd/ppc64 porting effort.  I=
=E2=80=99m
> >> using the standard bsd openjdk8 port, as the bsd mercurial needs freeb=
sd
> >> specific patches.
> >>
> >>
> >>
> >> I=E2=80=99ve made progress modding the linux/ppc files to work under b=
sd and can
> >> successfully build a native (ppc64) JVM.  Here=E2=80=99s the output I =
get
> executing
> >> =E2=80=98java =E2=80=93version=E2=80=99
> >>
> >>
> >>
> >>
> >> root@lenoil8
> :/usr/ports/java/openjdk8/work/openjdk/build/bsd-ppc64-normal-server-slow=
debug/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-slow=
debug/jdk/bin
> >> #
> >
> >
> > Great Job!
> >>
> >> I can compile and execute the basic =E2=80=9Chello world=E2=80=9D.  Ho=
wever, 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-slow=
debug/jdk/bin
> >> # ./javac HelloWorld.java
> >>
> >> root@lenoil8
> :/usr/ports/java/openjdk8/work/openjdk/build/bsd-ppc64-normal-server-slow=
debug/jdk/bin
> >> # ./java HelloWorld
> >> Hello, World
> >>
> >> root@lenoil8
> :/usr/ports/java/openjdk8/work/openjdk/build/bsd-ppc64-normal-server-slow=
debug/jdk/bin
> >> # ./javac zip.java
> >> Trace/BPT trap (core dumped)
> >>
> >> root@lenoil8
> :/usr/ports/java/openjdk8/work/openjdk/build/bsd-ppc64-normal-server-slow=
debug/jdk/bin
> >> # ./javac LargeZip.java
> >> Trace/BPT trap (core dumped)
> >>
> >> root@lenoil8
> :/usr/ports/java/openjdk8/work/openjdk/build/bsd-ppc64-normal-server-slow=
debug/jdk/bin
> >> #
> >>
> >> As you can see this is a debug build and I=E2=80=99ve been able to tel=
l from the
> >> core dump, using gdb, that it=E2=80=99s 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 th=
at
> > code, maybe SIGTRAP handling is already in place and (1) was all that w=
as
> > 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.h=
tml
> >
> > 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 worthwhi=
le
> > fixes.
> >
> > Kind Regards, Thomas
> >
> >>
> >> Any recommendations on what to look at or how to further debug?
> >>
> >>
> >>
> >> Regards,
> >>
> >>
> >>
> >> Curtis
> >>
> >>
> >>
> >> From: Curtis Hamilton [mailto:hamiltcl@verizon.net]
> >> Sent: Monday, January 11, 2016 3:29 PM
> >> To: 'Thomas St=C3=BCfe' <thomas.stuefe@gmail.com>
> >> Cc: 'Volker Simonis' <volker.simonis@gmail.com>;
> >> 'ppc-aix-port-dev@openjdk.java.net' <ppc-aix-port-dev@openjdk.java.net=
>
> >> 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 a=
n
> >> old PowerStation 220 in my collection).  However, the ppc-aix-port was
> the
> >> first that contained code specific to the ppc.  Since there isn=E2=80=
=99t a
> ppc-bsd
> >> port, I needed somewhere to start.  PPC code for both AIX and Linux ca=
n
> 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 th=
at
> >> already had the ppc code and go from there.
> >>
> >>
> >>
> >> Now that ppc code is being integrated into a more universal port, I ju=
st
> >> need to check which jdk8 port to work with.
> >>
> >>
> >>
> >> Any recommendation?
> >>
> >>
> >>
> >> Regards,
> >>
> >> Curtis
> >>
> >>
> >>
> >> From: Thomas St=C3=BCfe [mailto:thomas.stuefe@gmail.com]
> >> Sent: Monday, January 11, 2016 11:23 AM
> >> To: Curtis Hamilton <hamiltcl@verizon.net>
> >> Cc: Volker Simonis <volker.simonis@gmail.com>;
> >> ppc-aix-port-dev@openjdk.java.net
> >>
> >>
> >> 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. A=
IX
> >> 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 bs=
d
> >> ppc port.
> >>
> >>
> >>
> >> Kind Regards, Thomas
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >> On Mon, Jan 11, 2016 at 3:21 PM, Curtis Hamilton <hamiltcl@verizon.net=
>
> >> wrote:
> >>
> >> Volker,
> >>
> >>
> >>
> >> Thanks for the response.
> >>
> >>
> >>
> >> Yes, I=E2=80=99m using the mercurial jdk7u ppc-aix version.  The reaso=
n I used
> >> this port version was because I was more familiar with the build layou=
t
> 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=E2=80=99ve 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 buil=
d
> >> 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=E2=80=99m aware of the integration effort for jdk9.  So on your advi=
ce, I will
> >> start working with ppc-aix jdk8u.  I don=E2=80=99t want anyone to wast=
e 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 integrati=
on
> >> effort.
> >>
> >>
> >>
> >> Regards,
> >>
> >> Curtis
> >>
> >>
> >>
> >> From: Volker Simonis [mailto:volker.simonis@gmail.com]
> >> Sent: Monday, January 11, 2016 5:22 AM
> >> To: Curtis Hamilton <hamiltcl@verizon.net>
> >> Cc: ppc-aix-port-dev@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 t=
o
> >> 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=3D"\"24.80-b11\""
> >> -DHOTSPOT_BUILD_TARGET=3D"\"product\"" -DHOTSPOT_BUILD_USER=3D"\"root\=
""
> >> -DHOTSPOT_LIB_ARCH=3D\"ppc\" -DHOTSPOT_VM_DISTRO=3D"\"OpenJDK\""
> >> -DDEFAULT_LIBPATH=3D"\"/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=3D1 -m6=
4
> >> -mminimal-toc -mcpu=3Dpowerpc64 -mtune=3Dpower5
> >> -minsert-sched-nops=3Dregroup_exact -mno-multiple -mno-string
> >> -DSAFEFETCH_STUBS -DINCLUDE_TRACE=3D1 -Werror -Wpointer-arith -Wconver=
sion
> >> -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@verizon.net=
>
> >> wrote:
> >>
> >> Hello,
> >>
> >> I=E2=80=99d like to know if there=E2=80=99s been any work done to supp=
ort PPC for *BSD?
> >>
> >> I=E2=80=99ve 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
> >>
> >>
> >>
> >>
> >>
> >>
> >
> >
>
>
> _______________________________________________
> freebsd-java@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-java
> To unsubscribe, send any mail to "freebsd-java-unsubscribe@freebsd.org"
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2BWntOtzm=9jaiB2HtC2aZRPjdwySMXSf2i4mmjBNUpzV0%2BPKQ>