libjava status on Solaris 8/Intel and IRIX 6.5
Andrew Haley
aph@cambridge.redhat.com
Mon Mar 18 10:14:00 GMT 2002
Rainer Orth writes:
> Andrew Haley writes:
>
> > > i386-pc-solaris2.8:
>
> > SEGV and SIGFP handlers don't work: we need to use -fcheck-references
> > -fuse-divide-subroutine in libgcj.spec.
>
> Confirmed manually. -fuse-divide-subroutine can be handled like this, I
> suppose?
>
> --- configure.host Wed Mar 13 12:54:58 2002
> +++ configure.host.new Mon Mar 18 18:47:37 2002
> @@ -75,7 +75,14 @@ case "${host}" in
> libgcj_interpreter=yes
> libgcj_cxxflags="-D__NO_MATH_INLINES"
> libgcj_cflags="-D__NO_MATH_INLINES"
> - DIVIDESPEC=-fno-use-divide-subroutine
> + case "${host}" in
> + i?86-*-solaris2*)
> + # keep default
> + ;;
> + *)
> + DIVIDESPEC=-fno-use-divide-subroutine
> + ;;
> + esac
> enable_hash_synchronization_default=yes
> slow_pthread_self=yes
> ;;
Looks reasonable, although I think we should only enable
-fno-use-divide-subroutine on OSes that we've tested. What you suggest
is better than what we have at the moment, though.
> > SEGV handler doesn't work: -fcheck-references.
>
> Indeed. Same on sparc-sun-solaris2.8, so this is a generic Solaris 2
> problem. We probably need a new spec substitution for this (similar to
> DIVIDESPEC and friends)? Any suggestions for a good name, and I'll provide
> a patch and verify it.
The trouble with -fcheck-references is that it only works for Java
code and not in libgcj's CNI C++ code, so using it for tests may give
a false sense of security. Perhaps we should not do this in order not
to mislead users. I don't know. Opinions welcome.
Hey Tom, how about redesigning CNI to use smart pointers? :-)
(Actually only half a smiley; it might be worth doing for CNI 2.0...)
Andrew.
More information about the Java
mailing list