Porting Hotspot to other platforms / OS'es

Jonathan Springer springer at reservoir.com
Thu May 22 15:10:43 PDT 2008


Just a note, the REMOTE support has been used successfully in the MIPS
port project (and thanks for adding that support).  We use Hotspot on
Linux/AMD64 as the remote JDK.  The remote machine has a filesystem
that is shared via NFS with the MIPS build box, so the generated bits
are put in the right place for the build to pick up automatically.
The one hitch we've found is that sometimes NFS lags slightly so that
a newly-generated file isn't seen quickly enough remotely and the
build fails.  Just restarting it will get it going again though,
picking up where it left off.

-Jonathan


Tom Rodriguez wrote:
> There is some support in hotspot for rsh'ing to other machines for these 
> bootstrap parts.  There's a variable called REMOTE that prefixes the 
> java dependent parts of the makefile and you should be able to use rsh 
> or ssh to run the needed commands on a remote machine.  Obviously the 
> build area would need to be reachable from the remote machine and you'd 
> need to the execute the command in the proper build directory, so you 
> might need a wrapper script to do the remoting.
> 
> tom
> 
> Kelly O'Hair wrote:
>> I see Andrew posted a reply...
>>
>> In general, there is a basic build dependency of building the JDK on 
>> having
>> a previously built JDK, often called the BOOT JDK.
>>
>> But for hotspot (a part of the JDK), the BOOT JDK dependency is a little
>> unusual.
>> The hotspot repository does need to compile up some Java source for the
>> Serviceability Agent, but that could be skipped if what you were after 
>> was
>> just a libjvm.so (just the native hotspot C++ shared library), or you 
>> could
>> compile up that java agent source on a different machine, a class file 
>> is a
>> class file, doesn't matter who creates it.
>>
>> But to build libjvm.so, some of the JVM TI code (Tools Interface) needs
>> to be generated, and that is done with XML/XSLT, however that generation
>> should be able to be done on some other machine.
>>
>> I don't have any easy recipes, but I know it's possible.
>>
>> Maybe if you built hotspot on a known build machine, then deleted the
>> .o and .so files, and tried building on the unknown machine?
>>
>> -kto
>>
>> Michael Neuweiler 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

-- 
Jonathan Springer     |
Reservoir Labs, Inc.  |  http://www.reservoir.com/



More information about the porters-dev mailing list