OSDN Git Service

* src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
[pf3gnuchains/gcc-fork.git] / libjava / configure.host
index 91b529b..437566a 100644 (file)
@@ -28,6 +28,8 @@
 #                      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.
+#   disable_dladdr      Set to "yes" if dladdr should not be used
+#                       (i.e it is broken).
 
 libgcj_flags=
 libgcj_cflags=
@@ -39,6 +41,7 @@ enable_hash_synchronization_default=no
 sysdeps_dir=generic
 slow_pthread_self=
 can_unwind_signal=no
+disable_dladdr=
 
 case "${target_optspace}:${host}" in
   yes:*)
@@ -87,20 +90,20 @@ case "${host}" in
        ;;
   i686-*|i586-*|i486-*|i386-*)
        sysdeps_dir=i386
-       libgcj_flags="${libgcj_flags} -ffloat-store"
+       libgcj_flags="${libgcj_flags} -ffloat-store -fno-omit-frame-pointer"
        libgcj_interpreter=yes
-       libgcj_cxxflags="-D__NO_MATH_INLINES"
-       libgcj_cflags="-D__NO_MATH_INLINES"
+       libgcj_cxxflags=
+       libgcj_cflags=
        DIVIDESPEC=-fno-use-divide-subroutine
        enable_hash_synchronization_default=yes
        slow_pthread_self=yes
        ;;
   x86_64-*)
-       CHECKREFSPEC="%{m32:-fcheck-references}"
        sysdeps_dir=x86-64
        libgcj_flags="${libgcj_flags} -ffloat-store -fno-omit-frame-pointer"
-       libgcj_cxxflags="-D__NO_MATH_INLINES"
-       libgcj_cflags="-D__NO_MATH_INLINES"
+       libgcj_cxxflags=
+       libgcj_cflags=
+       DIVIDESPEC=-f%{m32:no-}use-divide-subroutine
        enable_hash_synchronization_default=yes
        slow_pthread_self=yes
        libgcj_interpreter=yes
@@ -112,13 +115,17 @@ case "${host}" in
        enable_hash_synchronization_default=yes
        IEEESPEC=-mieee
        ;;
-  powerpc64*-*)
-       # libffi not ported.
-       with_libffi_default=yes
+  hppa-*)
+       sysdeps_dir=pa
        libgcj_interpreter=yes
-       libgcj_flags="${libgcj_flags} -mminimal-toc"
-       # this may not be correct
+       enable_hash_synchronization_default=yes
+       ;;
+  powerpc64*-*)
        sysdeps_dir=powerpc
+       libgcj_interpreter=yes
+       if [ x`$CC -print-multi-os-directory` = x../lib64 ]; then
+           libgcj_flags="${libgcj_flags} -mminimal-toc"
+       fi
        enable_hash_synchronization_default=yes
        slow_pthread_self=yes
        ;;
@@ -131,6 +138,7 @@ case "${host}" in
   s390*-*)
        sysdeps_dir=s390
        libgcj_interpreter=yes
+       DIVIDESPEC=-fno-use-divide-subroutine
        enable_hash_synchronization_default=yes
        ;;
   sparc*-*)
@@ -162,6 +170,7 @@ case "${host}" in
   sparc*-linux* | \
   ia64-* | \
   x86_64*-linux* | \
+  hppa*-linux* | \
   sh-linux* | sh[34]*-linux*)
        can_unwind_signal=yes
        if test x$slow_pthread_self = xyes \
@@ -214,10 +223,23 @@ EOF
          rm -f conftest conftest.c
        fi
        ;;
-  *-*-darwin*)
-       enable_hash_synchronization_default=no
+  mips*-*-linux* )
+       sysdeps_dir=mips
+       can_unwind_signal=yes
+       libgcj_interpreter=yes
+       libgcj_flags="${libgcj_flags} -mxgot"
+       DIVIDESPEC=-fno-use-divide-subroutine
+       case "${host}" in
+           mipsel*-linux* | mipsisa32el*-linux*)
+               enable_hash_synchronization_default=yes
+               disable_dladdr=yes
+           ;;
+       esac
+       ;;
+  powerpc*-*-darwin*)
+       enable_hash_synchronization_default=yes
        slow_pthread_self=
-       can_unwind_signal=no
+       can_unwind_signal=yes
        ;;
   *-*-freebsd*)
        slow_pthread_self=