Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 Feb 2016 16:29:50 -0800
From:      Brian Gardner <openjdk@getsnappy.com>
To:        Greg Lewis <glewis@eyesbeyond.com>
Cc:        java@freebsd.org, Magnus Ihse Bursie <magnus.ihse.bursie@oracle.com>
Subject:   Re: Helping out with JDK 9 on BSD
Message-ID:  <A4624A53-1329-481E-928C-F2C8167BA001@getsnappy.com>
In-Reply-To: <20160203034053.GA36170@misty.eyesbeyond.com>
References:  <56ADE7D4.8020107@oracle.com> <56ADE943.6020103@oracle.com> <8B9ACABA-F9B2-4288-9DB5-CA843DE48C34@getsnappy.com> <20160203034053.GA36170@misty.eyesbeyond.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Greg,
Great to hear from you, it=E2=80=99s been a while since I took on one of =
these projects, but I do follow the java@freebsd mailing list and see =
all the work you put in.  I must tell you how greatly your work is =
appreciated by me and I=E2=80=99m sure the rest of the community.  I =
have good news, with fairly minimal changes I have it compiling, =
building HelloWorld, and running HelloWorld all without errors.

I think it=E2=80=99ll break down into 4 change sets,
NM - I ported some code from =
bsd-port/jdk8/hotspot/make/bsd/makefiles/build_vm_def.sh that fixes a =
compile error=20
SUPPORT_RESERVED_STACK_AREA - define SUPPORT_RESERVED_STACK_AREA for =
_ALLBSD_SOURCE
Serviceability Agent - ported from bad-port/jdk8, currently compiles but =
hasn=E2=80=99t been tested
TLS - there is problems with the TLS in jdk9 used for Thread::current(). =
 This caused several issues for me and while the fix was relatively =
straight forward in using THREAD_LOCAL_DECL completely in place of TLS =
completely, I=E2=80=99d imagine there was a reason it was implemented in =
sort of a Hybrid fashion alongside TLS.

It would be great if I could post these as web reviews for others to =
review.  Greg, would getting access to bsd-port/jdk9 allow us to =
collaborate through web reviews?  Magnus, do you think using =
bsd-port/jdk9 for this purpose be a step towards getting these basic =
changes into the jdk9 mainline, or would your colleagues think "if they =
have bsd-port/jdk9, why bother with integrating them into the jdk9 =
mainline?=E2=80=9D

Brian Gardner

> On Feb 2, 2016, at 7:40 PM, Greg Lewis <glewis@eyesbeyond.com> wrote:
>=20
> On Sun, Jan 31, 2016 at 06:57:26AM -0800, Brian Gardner wrote:
>> I???m interested in helping.  I ported openjdk6 to freebsd and also =
helped out with openjdk8.
>>=20
>> Brian Gardner
>=20
> I'd love to see as much of these changes get into the jdk9 mainline.  =
My time
> is really limited for the next couple of weeks though.  If it would =
help you
> or Magnus to use the bsd-port repo to stage changes then that would be
> great too.  Let me do a merge to make sure it is up to date with =
mainline.
> Notionally we'd have to do a vote to get you both access I think?  But =
I
> can shepherd changes in if that will help with sharing them.
>=20
> FWIW, in terms of taking responsibility, I've been regularly updating =
the
> repos for jdk8 and jdk7 for a couple of years.  I'm happy to keep jdk9
> building if that is what is being looked for there and also port more =
of
> the BSD changes for jdk8 as appropriate.
>=20
> - Greg
>=20
>>> On Jan 31, 2016, at 3:00 AM, Magnus Ihse Bursie =
<magnus.ihse.bursie@oracle.com> wrote:
>>>=20
>>> On 2016-01-31 11:54, Magnus Ihse Bursie wrote:
>>>> Hi,
>>>>=20
>>>> [TL;DR: I'm offering patches to compile JDK 9 on FreeBSD, but it's =
not clear where to put them, or how.]
>>>>=20
>>>> I'm working at Oracle on the OpenJDK build team and is responsible =
for large parts of the build system of OpenJDK. Lately, I've been =
playing around with FreeBSD (and other BSDs) in my free time, and I've =
written a patch that will add build system support for FreeBSD, OpenBSD =
and NetBSD in JDK 9 (tracked in =
https://bugs.openjdk.java.net/browse/JDK-8147795).
>>>>=20
>>>> I started writing this when I realized that the jdk9 branch in the =
OpenJDK bsd-port repository did not contain any BSD-specific changes at =
all, and the old JDK 8 changes will not readily be portable, due to =
major changes in the build system between JDK 8 and JDK 9.
>>>>=20
>>>> I thought it would be a no-brainer to integrate these changes into =
the JDK 9 mainline, so they would be in place for whenever you guys =
would start to attack porting the code base. However, some of my =
collegues thought otherwise. The end result, I think, is that they =
wanted to see someone (not necessarily a company, the FreeBSD =
organisation for instance seemed to be okay), to step forward and say =
"we take responsibility for the BSD port", and give some kind of =
commitment to actually use these build changes in producing a viable =
port. You can read the mail conversation here: =
http://mail.openjdk.java.net/pipermail/build-dev/2016-January/016421.html
>>>=20
>>> I forgot to add that I'm willing to help with build issues for the =
BSD port, as far as my (like everybode else's) limited free time allows =
me. Unfortunately, I'm still a noob at BSD internals and can't really =
help with much apart from that.
>>>=20
>>> /Magnus
>>>=20
>>>=20
>>>>=20
>>>> An alternative to pushing this code into the JDK 9 mainline is of =
course to push it to the bsd-port/jdk9 repo (given that the owners of =
that repo approves), but that seems like a less favourable solution. =
Having the code in the mainline does not mean that it gets tested =
automatically, but it means that it will be part of e.g. refactoring, =
that would otherwise break a downstream patchset.
>>>>=20
>>>> I cc:ed this conversation to the bsd-port-dev@openjdk.java.net =
mailing list, but never got any kind of official response there. Since =
this list seems more active, I'm trying here instead. :)
>>>>=20
>>>> So, I'm offering two patches here, one that applies to the build =
system, is nice and clean, and possible to integrate into JDK 9 =
mainline, if my collegues are convinced that someone is backing up the =
BSD port. And there's a second patch, which fixes broken C/C++/Java code =
and results in a product that can at least run "javac HelloWorld", but =
this is not yet clean enough for integration anywere, at least not the =
JDK 9 mainline. (I don't know enough of the BSD internals to fix all =
problems, so there's some "#if 0" code here and there.)
>>>>=20
>>>> /Magnus
>>>>=20
>>>> _______________________________________________
>>>> 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"
>>>=20
>>> _______________________________________________
>>> freebsd-java@freebsd.org <mailto:freebsd-java@freebsd.org> mailing =
list
>>> https://lists.freebsd.org/mailman/listinfo/freebsd-java =
<https://lists.freebsd.org/mailman/listinfo/freebsd-java>;
>>> To unsubscribe, send any mail to =
"freebsd-java-unsubscribe@freebsd.org =
<mailto:freebsd-java-unsubscribe@freebsd.org>"
>>=20
>> _______________________________________________
>> 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"
>=20
> --=20
> Greg Lewis                          Email   : glewis@eyesbeyond.com
> Eyes Beyond                         Web     : =
http://www.eyesbeyond.com <http://www.eyesbeyond.com/>;
> Information Technology              FreeBSD : glewis@FreeBSD.org =
<mailto:glewis@freebsd.org>
> _______________________________________________
> freebsd-java@freebsd.org <mailto:freebsd-java@freebsd.org> mailing =
list
> https://lists.freebsd.org/mailman/listinfo/freebsd-java =
<https://lists.freebsd.org/mailman/listinfo/freebsd-java>;
> To unsubscribe, send any mail to "freebsd-java-unsubscribe@freebsd.org =
<mailto:freebsd-java-unsubscribe@freebsd.org>"




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?A4624A53-1329-481E-928C-F2C8167BA001>