# 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=
enable_hash_synchronization_default=no
sysdeps_dir=generic
slow_pthread_self=
+can_unwind_signal=no
case "${target_optspace}:${host}" in
yes:*)
DIVIDESPEC=-fuse-divide-subroutine
EXCEPTIONSPEC=-fnon-call-exceptions
+CHECKREFSPEC=
+# This case statement supports per-CPU defaults.
case "${host}" in
mips-tx39-*|mipstx39-unknown-*)
libgcj_flags="${libgcj_flags} -G 0"
libgcj_interpreter=yes
enable_hash_synchronization_default=yes
;;
- powerpc*-linux*)
+ powerpc*-*)
sysdeps_dir=powerpc
libgcj_interpreter=yes
enable_hash_synchronization_default=yes
slow_pthread_self=yes
;;
- powerpc*-darwin*)
- sysdeps_dir=powerpc
- libgcj_interpreter=yes
- ;;
sparc-*)
;;
ia64-*)
with_libffi_default=no
PROCESS=Ecos
FILE=Posix
+ CHECKREFSPEC=-fcheck-references
+ EXCEPTIONSPEC=
enable_java_net_default=no
enable_getenv_properties_default=no
enable_main_args_default=no
;;
esac
+# This case statement supports generic port properties and may refine
+# 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* | \
+ s390*-linux* | \
+ sparc*-linux* | \
+ ia64-*)
+ can_unwind_signal=yes
+ ;;
+ *-*-darwin*)
+ enable_hash_synchronization_default=no
+ slow_pthread_self=
+ ;;
+ *-*-freebsd*)
+ slow_pthread_self=
+ ;;
+ *-cygwin*)
+ # The cygwin linker doesn't do 8-byte alignment by default, so
+ # disable hash synchronization for now.
+ enable_hash_synchronization_default=no
+ slow_pthread_self=
+ ;;
+esac
+
libgcj_cflags="${libgcj_cflags} ${libgcj_flags}"
libgcj_cxxflags="${libgcj_cxxflags} ${libgcj_flags}"
libgcj_javaflags="${libgcj_javaflags} ${libgcj_flags}"