This is the mail archive of the
java-discuss@sourceware.cygnus.com
mailing list for the Java project.
Re: building libgcj on irix 6.5
- To: Andrew Haley <aph at pasanda dot cygnus dot co dot uk>
- Subject: Re: building libgcj on irix 6.5
- From: Jeff Sturm <jsturm at sigma6 dot com>
- Date: Thu, 09 Dec 1999 12:22:22 -0500
- CC: jmc at cmpharm dot ucsf dot edu, java-discuss at sourceware dot cygnus dot com
- Organization: AppNet
- References: <19991209155908.28225.qmail@pasanda.cygnus.co.uk>
Andrew Haley wrote:
> Range based exception handling is preferred on many targets because
> there's no inline cost when exceptions aren't thrown. On some
> machines other choices are preferable, and we simply don't have range
> based exception handling for other targets.
>
> So, whatever floats your boat: with gcj we give you the choice.
Choice is certainly good... I was wondering though why the particular
defaults were chosen:
i686-*|i586-*)
libgcj_flags="${libgcj_flags} -ffloat-store"
DIVIDESPEC=-fno-use-divide-subroutine
;;
sparc-*)
;;
*)
libgcj_sjlj=yes
;;
I re-read Jon Olson's February post on exception handling:
http://sourceware.cygnus.com/ml/java-discuss/1999-q1/msg00016.html
He seems to say that range table handling only really works on Intel and
SPARC, and only with debugging information. That could explain what's
in configure.host. (I don't know what Alpha does... I'll have to
check.)
Besides, --disable-sjlj-exceptions currently has no effect... I tried it
on Alpha/Linux. (It could be that the old-style exceptions are broken
on Alpha, and that would explain why some Java codes didn't run... I'll
investigate.)
Obviously we need a FAQ entry for this...
--
Jeff Sturm
jsturm@sigma6.com