This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
Re: PATCH: Fix Solaris 2/x86 signal handling in libgcj
- From: Rainer Orth <ro at CeBiTec dot Uni-Bielefeld dot DE>
- To: Andrew Haley <aph at redhat dot com>
- Cc: java-patches at gcc dot gnu dot org
- Date: Mon, 12 Jul 2010 18:37:36 +0200
- Subject: Re: PATCH: Fix Solaris 2/x86 signal handling in libgcj
- References: <ydd635mn1x1.fsf@CeBiTec.Uni-Bielefeld.DE> <4B855B44.5090504@redhat.com> <yddvd8r5elt.fsf@manam.CeBiTec.Uni-Bielefeld.DE>
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