Bug#810985: Patch

2019-03-25 Thread Thierry fa...@linux.ibm.com
Hello,
As the fix for ppc64el is simple, couldn't it be integrated ... or
definitely no interest ?!
Thanks




On Thu, 21 Sep 2017 15:51:56 +0200 =?UTF-8?B?RnLDqWTDqXJpYw==?= Bonnard
 wrote:
> Hi,
> the message "dlopen of .../pl-tai.so failed with error libplstream.so:
> cannot open shared object file: No such file or directory" is not
> actually linked to the FTBFS as far as I understood : the same error
> message happens on other architecture builds, but the install works.
> The dlopen with RTLD_GLOBAL flag of pl-tai.so just doesn't find the 
> libplstream.so
> in the path as it is. For this message to disappear, one need to set the
> LD_LIBRARY_PATH to the same as YAPLIBDIR.
> 
> On debomatic-powerpc the package built fine, so that bug may also depend on 
> other things.
> On ppc64el, yap is just looping in some mmap/munmap related to allocation 
> code :
> (gdb) bt
> #0  0x3fffb784b768 in munmap () from /lib/powerpc64le-linux-gnu/libc.so.6
> #1  0x20043d6c in ExtendWorkSpace (s=3604480, fixed_allocation=16) at 
> ../C/alloc.c:1143
> #2  0x20044b08 in Yap_ExtendWorkSpaceThroughHole (s=3604480) at 
> ../C/alloc.c:1606
> #3  0x200b21fc in execute_growstack (size0=524288, from_trail=0, 
> in_parser=0, old_trp=0x0, tksp=0x0, vep=0x0) at ../C/grow.c:1493
> #4  0x200b2570 in growstack (size=524288) at ../C/grow.c:1604
> #5  0x200b3374 in Yap_growstack (size=) at 
> ../C/grow.c:1471
> #!/usr/bin/make -f
> #6  0x200ba274 in call_gc (gc_lim=4096, predarity=0, 
> current_env=0x10a33818, nextop=0x101ce7e0) at ../C/heapgc.c:4009
> #7  0x200ba52c in Yap_gc (predarity=, 
> current_env=, nextop=) at ../C/heapgc.c:4035
> #8  0x20024ac0 in Yap_absmi (inp=) at ../C/absmi.c:2957
> #9  0x2008d874 in exec_absmi (top=1) at ../C/exec.c:1007
> #10 0x2008de98 in do_goal (t=268551041, CodeAdr=0x100740e0, arity=0, 
> pt=0x0, top=1) at ../C/exec.c:1074
> #11 0x2009a244 in Yap_RunTopGoal (t=268551041) at ../C/exec.c:1292
> #12 0x2001bdf4 in YAP_RunGoalOnce (t=) at 
> ../C/c_interface.c:2037
> #13 0x20016cdc in do_top_goal (Goal=268551041) at ../console/yap.c:116
> #14 exec_top_level (iap=0x3210, BootMode=) at 
> ../console/yap.c:711
> #15 main (argc=, argv=) at ../console/yap.c:752
> 
> Redhat seemed to have that same issue : 
> https://sourceforge.net/p/yap/mailman/message/33828905/
> and using --enable-use-malloc helped.
> So here is a patch that makes the build use that option for powerpc and 
> ppc64el (it
> should work on ppc64, but this arch is not enabled for yap and I wanted the 
> patch
> to be minimal).
> 
> F.

-- 
Thierry Fauck @ fr.ibm.com



Bug#810985: Patch

2017-09-21 Thread Frédéric Bonnard
Hi,
the message "dlopen of .../pl-tai.so failed with error libplstream.so:
cannot open shared object file: No such file or directory" is not
actually linked to the FTBFS as far as I understood : the same error
message happens on other architecture builds, but the install works.
The dlopen with RTLD_GLOBAL flag of pl-tai.so just doesn't find the 
libplstream.so
in the path as it is. For this message to disappear, one need to set the
LD_LIBRARY_PATH to the same as YAPLIBDIR.

On debomatic-powerpc the package built fine, so that bug may also depend on 
other things.
On ppc64el, yap is just looping in some mmap/munmap related to allocation code :
(gdb) bt
#0  0x3fffb784b768 in munmap () from /lib/powerpc64le-linux-gnu/libc.so.6
#1  0x20043d6c in ExtendWorkSpace (s=3604480, fixed_allocation=16) at 
../C/alloc.c:1143
#2  0x20044b08 in Yap_ExtendWorkSpaceThroughHole (s=3604480) at 
../C/alloc.c:1606
#3  0x200b21fc in execute_growstack (size0=524288, from_trail=0, 
in_parser=0, old_trp=0x0, tksp=0x0, vep=0x0) at ../C/grow.c:1493
#4  0x200b2570 in growstack (size=524288) at ../C/grow.c:1604
#5  0x200b3374 in Yap_growstack (size=) at 
../C/grow.c:1471
#!/usr/bin/make -f
#6  0x200ba274 in call_gc (gc_lim=4096, predarity=0, 
current_env=0x10a33818, nextop=0x101ce7e0) at ../C/heapgc.c:4009
#7  0x200ba52c in Yap_gc (predarity=, 
current_env=, nextop=) at ../C/heapgc.c:4035
#8  0x20024ac0 in Yap_absmi (inp=) at ../C/absmi.c:2957
#9  0x2008d874 in exec_absmi (top=1) at ../C/exec.c:1007
#10 0x2008de98 in do_goal (t=268551041, CodeAdr=0x100740e0, arity=0, 
pt=0x0, top=1) at ../C/exec.c:1074
#11 0x2009a244 in Yap_RunTopGoal (t=268551041) at ../C/exec.c:1292
#12 0x2001bdf4 in YAP_RunGoalOnce (t=) at 
../C/c_interface.c:2037
#13 0x20016cdc in do_top_goal (Goal=268551041) at ../console/yap.c:116
#14 exec_top_level (iap=0x3210, BootMode=) at 
../console/yap.c:711
#15 main (argc=, argv=) at ../console/yap.c:752

Redhat seemed to have that same issue : 
https://sourceforge.net/p/yap/mailman/message/33828905/
and using --enable-use-malloc helped.
So here is a patch that makes the build use that option for powerpc and ppc64el 
(it
should work on ppc64, but this arch is not enabled for yap and I wanted the 
patch
to be minimal).

F.
diff -Nru yap-6.2.2/debian/changelog yap-6.2.2/debian/changelog
--- yap-6.2.2/debian/changelog  2015-07-14 22:05:03.0 +0200
+++ yap-6.2.2/debian/changelog  2017-09-20 17:35:47.0 +0200
@@ -1,3 +1,11 @@
+yap (6.2.2-6.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix FTBFS on powerpc/ppc64el : disable private malloc :
+https://bugzilla.redhat.com/show_bug.cgi?id=1142068
+
+ -- Frédéric Bonnard   Wed, 20 Sep 2017 15:35:47 
+
+
 yap (6.2.2-6) sid; urgency=medium
 
   * d/control: add architectures arm64, ppc64el (closes: #791968)
diff -Nru yap-6.2.2/debian/rules yap-6.2.2/debian/rules
--- yap-6.2.2/debian/rules  2015-07-14 22:05:03.0 +0200
+++ yap-6.2.2/debian/rules  2017-09-20 17:35:47.0 +0200
@@ -11,6 +11,11 @@
 
 DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
 DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+DEB_HOST_ARCH   ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
+
+ifneq (,$(findstring $(DEB_HOST_ARCH), powerpc ppc64el))
+   configure_flags = --enable-use-malloc
+endif
 
 configure: config-stamp
 
@@ -27,6 +32,7 @@
--prefix=/usr \
--mandir=\$${prefix}/share/man \
--infodir=\$${prefix}/share/info \
+   $(configure_flags) \
CFLAGS="$(CFLAGS)" LDFLAGS="-Wl,-z,relro"
touch config-stamp
 


pgpLJ_SuWE7Hb.pgp
Description: PGP signature