From 04efec81275ba055bb910cfd43d0bb919f21a940 Mon Sep 17 00:00:00 2001 From: David Daney Date: Fri, 3 Sep 2004 17:58:52 +0000 Subject: [PATCH] configure.host: Use -fno-use-divide-subroutine for mips*-*-linux*. 2004-09-03 David Daney * configure.host: Use -fno-use-divide-subroutine for mips*-*-linux*. * include/mips-signal.h: Added HANDLE_FPE support. From-SVN: r87039 --- libjava/ChangeLog | 5 +++++ libjava/configure.host | 1 + libjava/include/mips-signal.h | 16 ++++++++++++++-- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index f717644a896..03c2fa90d48 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,8 @@ +2004-09-03 David Daney + + * configure.host: Use -fno-use-divide-subroutine for mips*-*-linux*. + * include/mips-signal.h: Added HANDLE_FPE support. + 2004-08-31 Michael Koch * javax/swing/plaf/basic/BasicTextAreaUI.java diff --git a/libjava/configure.host b/libjava/configure.host index 4cef1b8a5d1..cbecf04106e 100644 --- a/libjava/configure.host +++ b/libjava/configure.host @@ -227,6 +227,7 @@ EOF sysdeps_dir=mips can_unwind_signal=yes libgcj_flags="${libgcj_flags} -mxgot" + DIVIDESPEC=-fno-use-divide-subroutine case "${host}" in mipsel*-linux* | mipsisa32el*-linux*) enable_hash_synchronization_default=yes diff --git a/libjava/include/mips-signal.h b/libjava/include/mips-signal.h index 6728197081a..f9d49e66ea0 100644 --- a/libjava/include/mips-signal.h +++ b/libjava/include/mips-signal.h @@ -22,7 +22,7 @@ details. */ sys/ucontext.h included by java-signal.h from prims.cc */ #define HANDLE_SEGV 1 -#undef HANDLE_FPE +#define HANDLE_FPE 1 /* The third parameter to the signal handler points to something with * this structure defined in asm/ucontext.h, but the name clashes with @@ -83,7 +83,19 @@ do \ syscall (SYS_sigaction, SIGSEGV, &kact, NULL); \ } \ while (0) - + +#define INIT_FPE \ +do \ + { \ + struct kernel_sigaction kact; \ + kact.k_sa_handler = catch_fpe; \ + kact.k_sa_flags = SA_SIGINFO | SA_NODEFER; \ + sigemptyset (&kact.k_sa_mask); \ + syscall (SYS_sigaction, SIGFPE, &kact, NULL); \ + } \ +while (0) + +#undef HANDLE_DIVIDE_OVERFLOW #endif /* JAVA_SIGNAL_H */ -- 2.30.2