[yap] Fix building on PPC

Petr Pisar ppisar at fedoraproject.org
Wed Dec 7 15:39:45 UTC 2011


commit 457501a6ecb812964840265c168400297b274b2f
Author: Petr Písař <ppisar at redhat.com>
Date:   Wed Dec 7 15:04:40 2011 +0100

    Fix building on PPC

 yap-6.2.0-Remove-feature-macro.patch |   27 +++++++++++++++++++++++++++
 yap-6.2.0-ppc-mmap-addr.patch        |   11 +++++++++++
 yap.spec                             |   14 +++++++++++++-
 3 files changed, 51 insertions(+), 1 deletions(-)
---
diff --git a/yap-6.2.0-Remove-feature-macro.patch b/yap-6.2.0-Remove-feature-macro.patch
new file mode 100644
index 0000000..75201ee
--- /dev/null
+++ b/yap-6.2.0-Remove-feature-macro.patch
@@ -0,0 +1,27 @@
+From 9419d68dc09a4e3f7adfe7e654ef3952327cd9bf Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar at redhat.com>
+Date: Wed, 7 Dec 2011 14:14:25 +0100
+Subject: [PATCH] Remove feature macro
+
+This macro clashes with struct ppc_debug_info member in <asm/ptrace.h>
+on PPC. The macro is not used anywhere in yap.
+---
+ packages/PLStream/pl-incl.h |    2 --
+ 1 files changed, 0 insertions(+), 2 deletions(-)
+
+diff --git a/packages/PLStream/pl-incl.h b/packages/PLStream/pl-incl.h
+index aa7b99c..8bf63de 100755
+--- a/packages/PLStream/pl-incl.h
++++ b/packages/PLStream/pl-incl.h
+@@ -363,8 +363,6 @@ typedef struct PL_local_data {
+ 
+ #define usedStack(D) 0
+ 
+-#define features		(LD->feature.mask)
+-
+ extern PL_local_data_t lds;
+ 
+ #define exception_term		(LD->exception.term)
+-- 
+1.7.7.4
+
diff --git a/yap-6.2.0-ppc-mmap-addr.patch b/yap-6.2.0-ppc-mmap-addr.patch
new file mode 100644
index 0000000..e29aebc
--- /dev/null
+++ b/yap-6.2.0-ppc-mmap-addr.patch
@@ -0,0 +1,11 @@
+--- yap-6.orig/H/Yap.h	2010-10-18 21:48:20.000000000 +1300
++++ yap-6/H/Yap.h	2010-12-01 20:09:57.000000000 +1300
+@@ -268,6 +268,8 @@
+ #define MMAP_ADDR 0x200000000
+ #elif defined(__APPLE__) && !__LP64__
+ #define MMAP_ADDR 0x20000000
++#elif defined(__powerpc__)
++#define MMAP_ADDR 0x20000000
+ #else
+ #define MMAP_ADDR 0x10000000
+ #endif
diff --git a/yap.spec b/yap.spec
index 90b3e7f..9c7687a 100644
--- a/yap.spec
+++ b/yap.spec
@@ -4,7 +4,7 @@
 
 Name:       yap
 Version:    6.2.0
-Release:    5%{?dist}.2
+Release:    6%{?dist}
 Summary:    High-performance Prolog Compiler
 Group:      Development/Languages
 # README                            Perl Artistic license 2 and the FSF's LGPL
@@ -27,6 +27,10 @@ Patch7:     yap-6.2.0-Do-not-install-info-dir-index.patch
 Patch8:     yap-6.2.0-fix-chr-install-from-Keri.patch
 # fix non-x86 build with recent gcc
 Patch9:     yap-6.2.0-gprof-macro.patch
+# Fix segfaults on PPC. Taken from Gentoo yap-6.2.0-gentoo-patchset-5.tar.gz
+Patch10:    yap-6.2.0-ppc-mmap-addr.patch
+# Fix compilation of PLStream package on PPC
+Patch11:    yap-6.2.0-Remove-feature-macro.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires:  autoconf
 BuildRequires:  gmp-devel
@@ -82,6 +86,8 @@ Documentation for Yap.
 %patch7 -p1 -b .do_not_install_info_index
 %patch8 -p1 -b .fix_chr_install
 %patch9 -p1 -b .macro
+%patch10 -p1 -b .ppc
+%patch11 -p1 -b .remove_feature_macro
 
 # remove redundant RPATH
 sed -i 's/-Wl,-R\(,\)\{0,1\}\\$(LIBDIR)//' configure.in
@@ -141,6 +147,9 @@ make %{?_smp_mflags} info
 
 %install
 rm -rf $RPM_BUILD_ROOT
+%ifarch ppc ppc64
+ulimit -s unlimited
+%endif
 make DESTDIR=$RPM_BUILD_ROOT install
 make DESTDIR=$RPM_BUILD_ROOT install_info
 
@@ -227,6 +236,9 @@ rm -rf $RPM_BUILD_ROOT
 
 
 %changelog
+* Wed Dec 07 2011 Petr Pisar <ppisar at redhat.com> - 6.2.0-6
+- Fix building on PowerPC (bug #751144)
+
 * Wed Oct 26 2011 Marcela Mašláňová <mmaslano at redhat.com> - 6.2.0-5.2
 - rebuild with new gmp without compat lib
 


More information about the scm-commits mailing list