How do I get a .s file assembled into libgcj?

Tom Tromey tromey@redhat.com
Wed Aug 6 23:43:00 GMT 2003


>>>>> "David" == David Daney <ddaney@avtrex.com> writes:

David> The problem I have is that my current solution requires an assembly
David> language source file and I cannot figure out how to adjust
David> configure.in and/or Makefile.am for libjava so that the .s file is
David> compiled from the source tree and then added to libgcj.{so|a}.
It should be as easy as adding the .s file to the appropriate
_SOURCES macro in Makefile.am, and re-running automake.
However, I think we'd really prefer something more along the lines of
the other existing ports, if that is possible. Andrew is the expert
on this part. But see how the other ports do it. My understanding is
that this is done by writing some glue code (see, e.g.,
libjava/include/powerpc-signal.h) and also implementing
MD_FALLBACK_FRAME_STATE_FOR in gcc.
If there's no other way, adding a conditional assembly source would
be fine.
David> As an alternative I could put the code in a C++ function using the
David> asm() statement, but I would need some way to force the C++ compiler
David> to always generate an identical stack frame layout no matter what
David> optimization or code generation options were used.
Again, Andrew is the expert here.
If you're interested in a full MIPS port, you could also implement the
libffi closure API and the locking code to enable hash
synchronization. The former is useful for the interpreter and
reflection; the latter is more generally useful.
Tom


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /