Sparc assembler help (jdk13 port)

Greg Lewis glewis at
Mon Feb 16 22:30:48 PST 2004

Hi all,

I'm trying to get the jdk13 port running on sparc64.  Unfortunately JDK
1.3.1 runs on the Sparc in 32 bit mode under Solaris, so there were a
number of 32 bit vs. 64 bit problems.  I think I've got most of the initial
stage of the build working correctly, however I'm running into some trouble
with the assembler code which 'translates the "Java" calling convention
into the "C" * calling convention used in native methods'.  Since the code
was written for 32 bit mode it assumes a pointer can be passed in a single
32 bit register, etc.  Unfortunately my knowledge of assembler is very
limited and in particular I know nothing about Sparc assembler.

I'd love to hear from someone who knows some Sparc assembler and in
particular how FreeBSD calls functions (i.e. how the arguments are
placed into registers or on the stack).  Short of this, some pointers
to the right information may eventually yield some results.

The code itself is quite short, however I can't post it due to the way Sun
licenses their Java source code.  If you've compiled any of the jdk* ports
though, then you've agreed to the appropriate license (Sun Community Source

Note that I'm working on getting jdk13 working with the Classic VM.  The
HotSpot VM is a whole lot more work (which is also why I'm not starting
with the jdk14 port).

Greg Lewis                          Email   : glewis at
Eyes Beyond                         Web     :
Information Technology              FreeBSD : glewis at

More information about the freebsd-sparc64 mailing list