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: PATCH: Fix Solaris 2/x86 signal handling in libgcj


Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> writes:

> Andrew Haley <aph at redhat dot com> writes:
>
> [Please keep me on the Cc: I'm not subscribed to java-patches and hadn't
> seen your message until I checked the archives.  Thanks.]
[...]
> It took me some time to get MD_FALLBACK_FRAME_STATE_FOR right for all
> Solaris 2/x86 versions (patch to be posted shortly), but once that is

I've now posted the patch here:

	Support Solaris 9, 11/x86 in MD_FALLBACK_FRAME_STATE_FOR
	http://gcc.gnu.org/ml/gcc-patches/2010-07/msg00988.html

> With the patch
>
> 	http://gcc.gnu.org/ml/gcc-patches/2010-02/msg00994.html
>
> applied, the Throw_2 failures vanish.  I've yet to investigate the
> PR16923 failure, though.
>
> Therefore, I'd like to apply the patch to mainline, 4.4. and 4.5
> branches.  Ok?

Testing revealed that I need one additional change on the libjava side,
though: unlike the previous version of my MD_FALLBACK_FRAME_STATE_FOR,
the new one relies on the frame pointer since it has to do some stack
walking, which conflicts with libjava being built with
-fomit-frame-pointer by default.  To enable this, I need the Makefile.am
fragment below, too.

As before, sucessfully bootstrapped on Solaris 10 and 11/x86, leaving
only the 64-bit PR16923 failure.

Ok for mainline (and 4.4 and 4.5 branches after testing there), together
with the original patch?

Thanks.
	Rainer


2010-02-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* Makefile.am (prims.lo): Add -fno-omit-frame-pointer to AM_CXXFLAGS.
	* Makefile.in: Regenerate.

diff -r 84597d01330e libjava/Makefile.am
--- a/libjava/Makefile.am	Mon Jul 12 09:20:38 2010 +0200
+++ b/libjava/Makefile.am	Mon Jul 12 09:22:01 2010 +0200
@@ -444,6 +444,8 @@
 
 ## We need to compile at least the interpreter this way.
 interpret.lo:  AM_CXXFLAGS += -fwrapv
+## Necessary so EH works on 64-bit Solaris 2.
+prims.lo: AM_CXXFLAGS += -fno-omit-frame-pointer
 
 if USING_BOEHMGC
 libgcj_la_SOURCES += boehm.cc

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University


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