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: libjava NetBSD configuration


Anthony Green wrote:

>On Wed, 2002-04-10 at 21:58, Bryce McKinlay wrote:
>
>>Actually for 3.1 we should really set these for all targets that both:
>>
>>- arn't linux on alpha/PPC/IA64/x86
>>- arn't using SJLJ exceptions
>>
>
>It's not that simple.  xscale-elf is using SJLJ exceptions but still
>requires -fcheck-references.
>

Ok. Here's the updated patch which doesn't change the settings for 
xscale-elf. I'm checking this one in.

regards

Bryce.

2002-04-11  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* configure.host: Set can_unwind_signal on hosts which support it.
	Don't set CHECKREFSPEC and DIVIDESPEC for FreeBSD.
	* configure.in: Set CHECKREFSPEC and DIVIDESPEC if not using SJLJ
	exceptions and can_unwind_signal isn't set.
	* configure: Rebuilt.

Index: configure.host
===================================================================
RCS file: /cvs/gcc/egcs/libjava/configure.host,v
retrieving revision 1.23.2.5
diff -u -r1.23.2.5 configure.host
--- configure.host	5 Apr 2002 04:19:30 -0000	1.23.2.5
+++ configure.host	11 Apr 2002 22:13:43 -0000
@@ -26,6 +26,8 @@
 #   sysdeps_dir		Directory containing system-dependent headers
 #   slow_pthread_self   The synchronization code should try to avoid 
 #			pthread_self calls by caching thread IDs in a hashtable
+#   can_unwind_signal   Set to "yes" if the EH unwinder supports throwing
+#			from a signal handler.
 
 libgcj_flags=
 libgcj_cflags=
@@ -36,6 +38,7 @@
 enable_hash_synchronization_default=no
 sysdeps_dir=generic
 slow_pthread_self=
+can_unwind_signal=no
 
 case "${target_optspace}:${host}" in
   yes:*)
@@ -115,18 +118,21 @@
 esac
 
 # This case statement supports generic port properties and may refine
-# the above per-CPU defaults.  Note: If your OS does not implement
-# MD_FALLBACK_FRAME_STATE_FOR, then you may want to set CHECKREFSPEC,
-# DIVIDESPEC (to fix >20 test cases) and EXCEPTIONSPEC (to reduce EH
-# bloat only) here.
+# the above per-CPU defaults.  Note: If your OS implements
+# MD_FALLBACK_FRAME_STATE_FOR, then you want to set can_unwind_signal
+# here.
 case "${host}" in
+  i[34567]86*-linux* | \
+  powerpc*-linux* | \
+  alpha*-linux* | \
+  ia64-*)
+  	can_unwind_signal=yes
+	;;
   *-*-darwin*)
 	enable_hash_synchronization_default=no
 	slow_pthread_self=
 	;;
   *-*-freebsd*)
-	DIVIDESPEC=-fuse-divide-subroutine
-	CHECKREFSPEC=-fcheck-references
 	slow_pthread_self=
 	;;
 esac
Index: configure.in
===================================================================
RCS file: /cvs/gcc/egcs/libjava/configure.in,v
retrieving revision 1.114.2.11
diff -u -r1.114.2.11 configure.in
--- configure.in	10 Apr 2002 13:10:13 -0000	1.114.2.11
+++ configure.in	11 Apr 2002 22:13:43 -0000
@@ -153,6 +153,14 @@
 AC_LANG_RESTORE
 AC_MSG_RESULT($ac_exception_model_name)
 
+# If we are non using SJLJ exceptions, and this host does not have support 
+# for unwinding from a signal handler, enable checked dereferences and divides.
+if test $can_unwind_signal = no && test $enable_sjlj_exceptions = no; then
+  CHECKREFSPEC=-fcheck-references
+  DIVIDESPEC=-fuse-divide-subroutine
+  EXCEPTIONSPEC=
+fi
+
 dnl See if the user wants to disable java.net.  This is the mildly
 dnl ugly way that we admit that target-side configuration sucks.
 AC_ARG_ENABLE(java-net,

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