This is the mail archive of the java-patches@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: Fwd: Re: PATCH: libffi support for s390 architecture



Andrew Haley wrote:
>Ulrich Weigand writes:
>> Could you elaborate?  I guess I'll have to implement the
>> MD_FALLBACK_FRAME_STATE_FOR macro in the s390 backend.
>>
>> Apart from this, is there anything else?
>
>More or less, yes : you'll need MD_FALLBACK_FRAME_STATE_FOR and
>possibly a little bit of handler code in java-signal.h.

OK, I think I got it working now.  What I had to change is:

 - Implement MD_FALLBACK_FRAME_STATE_FOR
 - Set 'can_unwind_signal=yes' in configure.host
 - Implement include/s390-signal.h and set SIGNAL_HANDLER in configure.in
 - Do not define HAVE_BACKTRACE as backtrace () can abort on s390 under
   some circumstances, especially when called from a signal handler.
 - Fix a (non-Java-specific) exception handling bug in the s390 backend


I've already committed the s390 backend parts (exception handling
bug fix + MD_FALLBACK_FRAME_STATE_FOR); the libjava parts are included
in the following patch:

(See attached file: diff-libjava)

With this patch, and the libffi patch from
http://gcc.gnu.org/ml/java-patches/2002-q2/msg00345.html
the only remaining libjava testsuite failures are the same
as on i386 (these are all errors of the form
  Exception in thread "main" java.lang.UnsatisfiedLinkError: XXX: file not found
which is presumably not s390-related).


Further optimizations of the s390 port could include defining
HANDLE_DIVIDE_OVERFLOW and related configure setting on the one
hand, and defining enable_hash_synchronization (needs the atomic
routines in sysdep/...) on the other hand.  I'm not sure how
important this would be; in any case not having those does not
appear to impact the correctness of the port.


OK to commit the libjava changes (see above)?


B.t.w. I'm having problems regenerating the configure file;
although I think I'm using the correct autoconf version (2.13),
it insists on removing the '--site-file' configure option and
everything related to it.  Does anybody know what the issue
with this option is?  [B.t.w. some configure files throughout
the gcc source tree have --site-file and some don't :-/]


Mit freundlichen Gruessen / Best Regards

Ulrich Weigand

--
  Dr. Ulrich Weigand
  Linux for S/390 Design & Development
  IBM Deutschland Entwicklung GmbH, Schoenaicher Str. 220, 71032 Boeblingen
  Phone: +49-7031/16-3727   ---   Email: Ulrich.Weigand@de.ibm.com

Attachment: diff-libjava
Description: Binary data


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