From owner-freebsd-java@freebsd.org Thu Feb 4 00:31:20 2016 Return-Path: Delivered-To: freebsd-java@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 226ACA9B47D for ; Thu, 4 Feb 2016 00:31:20 +0000 (UTC) (envelope-from openjdk@getsnappy.com) Received: from mailman.ysv.freebsd.org (mailman.ysv.freebsd.org [IPv6:2001:1900:2254:206a::50:5]) by mx1.freebsd.org (Postfix) with ESMTP id 0B8F27AC for ; Thu, 4 Feb 2016 00:31:20 +0000 (UTC) (envelope-from openjdk@getsnappy.com) Received: by mailman.ysv.freebsd.org (Postfix) id 0B0E4A9B47C; Thu, 4 Feb 2016 00:31:20 +0000 (UTC) Delivered-To: java@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0A70BA9B47B for ; Thu, 4 Feb 2016 00:31:20 +0000 (UTC) (envelope-from openjdk@getsnappy.com) Received: from mail.timestudybuddy.com (mail.timestudybuddy.com [72.29.186.40]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B01B77AB for ; Thu, 4 Feb 2016 00:31:19 +0000 (UTC) (envelope-from openjdk@getsnappy.com) Received: from [192.168.0.2] (66-169-227-8.dhcp.gvrb.ca.charter.com [66.169.227.8]) (authenticated bits=0) by mail.timestudybuddy.com (8.15.2/8.14.9) with ESMTPSA id u140LqZO046415 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 3 Feb 2016 16:21:53 -0800 (PST) (envelope-from openjdk@getsnappy.com) X-Authentication-Warning: mailA.getsnappy.com: Host 66-169-227-8.dhcp.gvrb.ca.charter.com [66.169.227.8] claimed to be [192.168.0.2] Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Subject: Re: Helping out with JDK 9 on BSD From: Brian Gardner In-Reply-To: <20160203034053.GA36170@misty.eyesbeyond.com> Date: Wed, 3 Feb 2016 16:29:50 -0800 Cc: java@freebsd.org, Magnus Ihse Bursie Message-Id: References: <56ADE7D4.8020107@oracle.com> <56ADE943.6020103@oracle.com> <8B9ACABA-F9B2-4288-9DB5-CA843DE48C34@getsnappy.com> <20160203034053.GA36170@misty.eyesbeyond.com> To: Greg Lewis X-Mailer: Apple Mail (2.3112) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: freebsd-java@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Porting Java to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Feb 2016 00:31:20 -0000 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 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 = 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 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 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 > Information Technology FreeBSD : glewis@FreeBSD.org = > _______________________________________________ > 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 = "