summaryrefslogtreecommitdiff
path: root/lang/erlang/patches/patch-ac
diff options
context:
space:
mode:
Diffstat (limited to 'lang/erlang/patches/patch-ac')
-rw-r--r--lang/erlang/patches/patch-ac23
1 files changed, 23 insertions, 0 deletions
diff --git a/lang/erlang/patches/patch-ac b/lang/erlang/patches/patch-ac
new file mode 100644
index 00000000000..cf4166489f3
--- /dev/null
+++ b/lang/erlang/patches/patch-ac
@@ -0,0 +1,23 @@
+$NetBSD: patch-ac,v 1.5 2008/02/13 11:09:01 tnn Exp $
+
+--- erts/emulator/sys/common/erl_mseg.c.orig 2007-11-26 19:59:24.000000000 +0100
++++ erts/emulator/sys/common/erl_mseg.c
+@@ -369,10 +369,18 @@ mseg_recreate(void *old_seg, Uint old_si
+ #if defined(ERTS_MSEG_FAKE_SEGMENTS)
+ new_seg = erts_sys_realloc(ERTS_ALC_N_INVALID, NULL, old_seg, new_size);
+ #elif HAVE_MREMAP
++#if defined(__NetBSD__)
++ new_seg = (void *) mremap((void *) old_seg,
++ (size_t) old_size,
++ NULL,
++ (size_t) new_size,
++ 0);
++#else
+ new_seg = (void *) mremap((void *) old_seg,
+ (size_t) old_size,
+ (size_t) new_size,
+ MREMAP_MAYMOVE);
++#endif
+ if (new_seg == (void *) MAP_FAILED)
+ new_seg = NULL;
+ #else