This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Tom Tromey wrote:

"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.


Thanks, I am slowly figuring it out. Conditionally including the .s file is now solved.

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.

This is that approach I took. However, currently I still need an additional .s file.


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.

One thing at a time. I suspect I will be looking into these soon.

Thanks again.
David.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]