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