aboutsummaryrefslogtreecommitdiffstats
path: root/lang/erlang14
diff options
context:
space:
mode:
authorolgeni <olgeni@FreeBSD.org>2009-07-01 22:58:04 +0800
committerolgeni <olgeni@FreeBSD.org>2009-07-01 22:58:04 +0800
commit12c86ec06c9e1a3d04905981b42c71ca9be82039 (patch)
treebbe253b2f6f5c906e669c34962dd519eac456528 /lang/erlang14
parent9902b135a764dbb4c2ee8bf11a38b205b3338a61 (diff)
downloadfreebsd-ports-gnome-12c86ec06c9e1a3d04905981b42c71ca9be82039.tar.gz
freebsd-ports-gnome-12c86ec06c9e1a3d04905981b42c71ca9be82039.tar.zst
freebsd-ports-gnome-12c86ec06c9e1a3d04905981b42c71ca9be82039.zip
The per-thread last floating point exception pointer is not initialized
to NULL when it is allocated. As a result, spurious floating point exceptions are reported. Obtained from: David Reiss <dreiss at cs.stanford.edu>
Diffstat (limited to 'lang/erlang14')
-rw-r--r--lang/erlang14/Makefile2
-rw-r--r--lang/erlang14/files/patch-erts_emulator_sys_unix_sys__float.c13
2 files changed, 14 insertions, 1 deletions
diff --git a/lang/erlang14/Makefile b/lang/erlang14/Makefile
index 0f0287f76df8..76b230947a6e 100644
--- a/lang/erlang14/Makefile
+++ b/lang/erlang14/Makefile
@@ -7,7 +7,7 @@
PORTNAME= erlang
PORTVERSION= r13b01
-PORTREVISION= 4
+PORTREVISION= 5
PORTEPOCH= 1
CATEGORIES= lang parallel java
MASTER_SITES= http://www.erlang.org/download/ \
diff --git a/lang/erlang14/files/patch-erts_emulator_sys_unix_sys__float.c b/lang/erlang14/files/patch-erts_emulator_sys_unix_sys__float.c
new file mode 100644
index 000000000000..a21b4d08e33d
--- /dev/null
+++ b/lang/erlang14/files/patch-erts_emulator_sys_unix_sys__float.c
@@ -0,0 +1,13 @@
+
+$FreeBSD$
+
+--- erts/emulator/sys/unix/sys_float.c.orig
++++ erts/emulator/sys/unix/sys_float.c
+@@ -57,6 +57,7 @@
+ void erts_thread_init_fp_exception(void)
+ {
+ unsigned long *fpe = erts_alloc(ERTS_ALC_T_FP_EXCEPTION, sizeof(*fpe));
++ *fpe = 0;
+ erts_tsd_set(fpe_key, fpe);
+ }
+