aboutsummaryrefslogtreecommitdiffstats
path: root/erts/configure.in
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2010-09-07 10:27:14 +0200
committerBjörn Gustavsson <[email protected]>2010-09-07 10:27:14 +0200
commit03997d5a1c166e8470dd9c888a5dba121144986a (patch)
tree76ef98d2fc2cf0588392b036be18d984072207c1 /erts/configure.in
parent4763e0b7b8c4859d9e56f1fc9aa1426eebc8f65d (diff)
parent88a04a19d751c4c6712fc9b079e16d3976a4d731 (diff)
downloadotp-03997d5a1c166e8470dd9c888a5dba121144986a.tar.gz
otp-03997d5a1c166e8470dd9c888a5dba121144986a.tar.bz2
otp-03997d5a1c166e8470dd9c888a5dba121144986a.zip
Merge branch 'mk/net-dragonfly-bsd-patches' into dev
* mk/net-dragonfly-bsd-patches: Remove unused variables Use proper install method Add support for DragonFly BSD Add support for NetBSD
Diffstat (limited to 'erts/configure.in')
-rw-r--r--erts/configure.in7
1 files changed, 6 insertions, 1 deletions
diff --git a/erts/configure.in b/erts/configure.in
index 5747944bba..8c6f2ac076 100644
--- a/erts/configure.in
+++ b/erts/configure.in
@@ -2676,7 +2676,7 @@ static __inline__ int check_fpe(double f)
* Implement SIGFPE handler based on CPU/OS combination
*/
-#if (defined(__linux__) && (defined(__i386__) || defined(__x86_64__) || defined(__sparc__) || defined(__powerpc__))) || (defined(__DARWIN__) && (defined(__i386__) || defined(__x86_64__) || defined(__ppc__))) || (defined(__FreeBSD__) && (defined(__i386__) || defined(__x86_64__))) || (defined(__OpenBSD__) && defined(__x86_64__)) || (defined(__sun__) && defined(__x86_64__))
+#if (defined(__linux__) && (defined(__i386__) || defined(__x86_64__) || defined(__sparc__) || defined(__powerpc__))) || (defined(__DARWIN__) && (defined(__i386__) || defined(__x86_64__) || defined(__ppc__))) || (defined(__FreeBSD__) && (defined(__i386__) || defined(__x86_64__))) || ((defined(__OpenBSD__) || defined(__NetBSD__)) && defined(__x86_64__)) || (defined(__sun__) && defined(__x86_64__))
#if defined(__linux__) && defined(__i386__)
#if !defined(X86_FXSR_MAGIC)
@@ -2790,6 +2790,11 @@ static void fpe_sig_action(int sig, siginfo_t *si, void *puc)
struct fxsave64 *fxsave = uc->sc_fpstate;
fxsave->fx_mxcsr = 0x1F80;
fxsave->fx_fsw &= ~0xFF;
+#elif defined(__NetBSD__) && defined(__x86_64__)
+ mcontext_t *mc = &uc->uc_mcontext;
+ struct fxsave64 *fxsave = (struct fxsave64 *)&mc->__fpregs;
+ fxsave->fx_mxcsr = 0x1F80;
+ fxsave->fx_fsw &= ~0xFF;
#elif defined(__sun__) && defined(__x86_64__)
mcontext_t *mc = &uc->uc_mcontext;
struct fpchip_state *fpstate = &mc->fpregs.fp_reg_set.fpchip_state;