Porting Hotspot to other platforms / OS'es

Andrew John Hughes gnu_andrew at member.fsf.org
Thu May 22 14:48:34 PDT 2008

On 22/05/2008, Michael Neuweiler <michael at neuweiler.biz> wrote:
>  Hi Andrew,
>  Thanks a lot for your fast response. I do share your opinion that
> building/bootstrapping at least the hotspot must _not_ rely on any other
> java technology but solely on the standard GNU toolchain (or similar). If
> the build of hotspot with gcc/gcj is possible, I wouldn't mind copying jar's
> over from an existing installation. That'd be ok - but no libraries or other
> platform/OS dependant binary.

Well it should work with just GCJ.  Certainly I've built IcedTea
(which wraps OpenJDK in a build harness that uses GCJ) with only GCJ
on my system.  The question is whether GCJ is available on
x86/Syllable as I've never heard of Syllable before.

>  In the meantime I discovered the porters-dev mailinglist where I was able
> to find dome interesting information and one possible solution (although it
> requires some special tweaks with a customized linux shell, ssh and nfs to
> the target environment) :
> http://mail.openjdk.java.net/pipermail/porters-dev/2008-February/000080.html
>  I will also check with the developers of Haiku
> (http://mail.openjdk.java.net/pipermail/porters-dev/2008-January/000055.html)
> and the porters to MIPS
> (http://mail.openjdk.java.net/pipermail/porters-dev/2008-April/000131.html)
> to find out more.

Yes, sorry forgot to mention this.  The solution does sound a little
complicated to me though.

>  I'll keep you informed on my progress and once I'm "blissed" with success
> I'll write a guide which could be added to the FAQ section.


>  Regards,
>   Michael
>  Andrew John Hughes wrote:
>  On 21/05/2008, Michael Neuweiler <michael at neuweiler.biz> wrote:
>  Hi,
>  I wanted to start porting OpenJDK to Syllable on Intel32 but got stuck with
> the chicken and egg problem of hotspot: "you need a running JDK to build a
> new one".
>  What are your recommendations to start a port? Is cross-compiling the only
> solution or are there other ways?
>  I think I saw once that an XSLT is started with an already installed
> JRE/JDK during the build process on my Linux machine. Is this the only
> reason why a JRE has to be installed?
>  Any help would be greatly appreciated!
>  Regards,
>  Michael Neuweiler
>  (Adding distro-pkg-dev too)
> My understanding, both from building OpenJDK quite a number of times
> and from my own general thoughts on the issues of building a Java
> environment, is that bootstrapping the JDK through its standard build
> process is more than just handling XSLT.
> The first thing you're likely to run across is that there are no
> current Java compilers (as far as I know) that are not written in Java
> -- the main two are ecj from Eclipse and javac itself. The first
> thing the OpenJDK build process does is build javac and the other
> language tools. The current build not only depends on an existing
> javac to do this, but a full-scale JDK to run ant. My personal
> feelings are that it would have been better to stick with make for the
> langtools, but oh well...
> If my memory serves correctly, this is followed by JAXWS and JAXP,
> both of which require Java. Thus, a sensible course of action might
> be to approach building HotSpot alone first. Assuming this is
> possible (I have my doubts about it also including Java code), you
> could then use this to run an existing JAR file containing the tools
> to build.
> The reason I've CCed distro-pkg-dev on this is that a lot of work on
> bootstrapping on unsupported architectures (mainly the CPU rather than
> the OS) has been done under the auspices of the IcedTea
> (http://icedtea.classpath.org/) project. Here, we've found gcj to be
> useful in breaking this bootstrapping cycle -- do you know if GCC
> (which includes gcj) is available for the platform you are working on?
> This might be the simplest course of action.
> Looking forward to hearing how this works out for you,

Andrew :-)

Support Free Java!
Contribute to GNU Classpath and the OpenJDK

PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint: F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8

More information about the distro-pkg-dev mailing list