Package: erlang
Version: 1:18.3.4+dfsg-1
Severity: important
Tags: patch
User: [email protected]
Usertags: origin-ubuntu yakkety ubuntu-patch

Hi Sergei,

In <https://launchpad.net/bugs/778484>, it was reported that erlang would
fail to build in Ubuntu because the Ubuntu buildds detect implicit
conversions from integers to pointers due to undeclared functions, and treat
these as build failures because these code paths will lead to segfaults.

 
https://launchpad.net/ubuntu/+source/erlang/1:14.b.2-dfsg-3ubuntu1/+build/2485035

Ubuntu therefore is carrying a patch that fixes the missing declaration, to
improve 64-bit compatibility.

Please consider applying the attached patch in Debian.

-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
[email protected]                                     [email protected]
diff -Nru erlang-18.3.4+dfsg/debian/patches/fix-pointer-converstion.patch erlang-18.3.4+dfsg/debian/patches/fix-pointer-converstion.patch
--- erlang-18.3.4+dfsg/debian/patches/fix-pointer-converstion.patch	1970-01-01 02:00:00.000000000 +0200
+++ erlang-18.3.4+dfsg/debian/patches/fix-pointer-converstion.patch	2016-01-14 14:33:38.000000000 +0200
@@ -0,0 +1,23 @@
+From: Clint Byrum <[email protected]>
+Subject: resolve buildd failure "Function `erl_malloc' implicitly converted to pointer at legacy/erl_timeout.c:77"
+Bug-Ubuntu: https://launchpad.net/bugs/778484
+
+--- a/lib/erl_interface/src/legacy/erl_timeout.c
++++ b/lib/erl_interface/src/legacy/erl_timeout.c
+@@ -46,6 +46,7 @@
+ 
+ #include "erl_interface.h"
+ #include "erl_timeout.h"
++#include "erl_interface.h"
+ 
+ typedef struct jmp_s {
+   jmp_buf jmpbuf;
+@@ -76,7 +77,7 @@ jmp_buf *timeout_setup(int ms)
+   t.it_value.tv_usec = (ms % 1000) * 1000;
+ 
+   /* get a jump buffer and save it */
+-  j = erl_malloc(sizeof(*j));
++  j = (jmp_t)erl_malloc(sizeof(*j));
+   j->siginfo = s;
+   push(j);
+ 
diff -Nru erlang-18.3.4+dfsg/debian/patches/series erlang-18.3.4+dfsg/debian/patches/series
--- erlang-18.3.4+dfsg/debian/patches/series	2016-03-17 21:30:32.000000000 +0200
+++ erlang-18.3.4+dfsg/debian/patches/series	2016-06-16 02:40:19.000000000 +0300
@@ -11,3 +11,4 @@
 beamload.patch
 reproducible-build.patch
 x32.patch
+fix-pointer-converstion.patch

Reply via email to