Building for mips

Daniel Santos daniel.santos at pobox.com
Wed Mar 27 01:23:57 UTC 2019


Hello David,

Sorry for my slow response and thanks for your help.

I don't

On 3/25/19 6:48 AM, David Holmes wrote:
> Hi Daniel,
>
> The Portola project started from JDK 10 so you won't find any musl
> patches for JDK 8.

That helps explain the lack of any changes needed for musl. :)  Also, I
now realize that these were old tags from the mainline.  Is there any
way I can easily pull a portola build based upon a given upstream tag?
(e.g, jdk9u123 or some such).

>
> There is no current working MIPS port for OpenJDK - yes there was back
> in JDK 7. There was talk of it reviving for 8 but that hasn't happened
> as yet:
>

Oh, I didn't realize there was a working MIPS for JDK7.  Was this via
Zero or did it actually have the C1 and C2 compilers?  The Loongnix
project has a working JDK8 for mips64, but it has been privately
developed for 8 years and they appear to have a lot of work to do to
prepare it for being main lined, while also maintaining issues for their
user base.  I'm hopeful that once that's update it will be more feasible
for a mipsel (32-bit) port, but for now I'm just looking at using Zero.

> https://mail.openjdk.java.net/pipermail/mips-port/2018-August/000087.html
>

oh, whoops lol!  Yeah, you already know about that. :)

> So you would be trying to either bring an old MIPS port into the
> Portola repo (massive task, not recommended). Or else you need to
> start with the OpenJDK 7 MIPS port and then try to apply the musl
> changes to that by looking at the changesets that have been applied to
> the portola repo. That's also not a small job and the differences
> between JDK 7 and JDK 10+ code are huge.
>

Well I had cloned portola/portola and checkoued out the jdk8-b120 tag
and started working from there -- it turns out it's very old.  So I'm in
the process of importing jdk/jdk into git (as I know how to get around
in git) and when that's done I was planning on rebasing my patches onto
the latest jdk8u tag.  Luckily, Debian has some mipsel patches for jdk8
that work, Alpine has musl patches and I've done a lot of the changes
myself already, so I'm just going to go through them all and try to
merge them (plucking out things that I don't need).

> Mikael Vidstedt did the musl work in portola so he may be able to give
> you some specific pointers when he's available.
>
> You may be able to build a Zero interpreter version of Portola for
> MIPS - you'd need to ask the Zero folk about that.
>
> With regards to general repo structure ... there are lots of OpenJDK
> repos. jdk/jdk is the mainline repo currently targeting JDK 13.
>
> http://hg.openjdk.java.net/jdk/jdk/
>
> You'll find tags in there for earlier versions but no branches as we
> don't use those in the mainline repo. There are independent repos for
> the various OpenJDK update versions: 8u, 11u, 12u.
>
> http://hg.openjdk.java.net/jdk-updates

So if I want to start from the latest stable update for a given major
version, jdk8 in this instance, should I clone
http://hg.openjdk.java.net/jdk-updates/jdkX-u (with X being the major
version number)?  I'm not seeing jdk8-u in there, so should I get that
from jdk/jdk via tag or should I clone the jdk8u/jdk8u forest (i.e.,
http://hg.openjdk.java.net/jdk8u/jdk8u/)?

>
> Then there are various project specific repos, like portola (e.g.
> valhalla, panama) that have their own particulars that you'd need to
> check with the individual projects.
>
> HTH
>
> David

Thanks again for your help!  Hopefully when I get a clean, working build
I can see about mainlining some of these changes, especially for mips
support (at least mipsel)

Daniel


More information about the portola-dev mailing list