[yap/f16] Fix building on PPC
Petr Pisar
ppisar at fedoraproject.org
Wed Dec 7 15:42:05 UTC 2011
commit 968b4978af4dbcf358158e90d012c0c7660a455f
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 67fdee4..aad549b 100644
--- a/yap.spec
+++ b/yap.spec
@@ -4,7 +4,7 @@
Name: yap
Version: 6.2.0
-Release: 5%{?dist}
+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)
+
* Thu Jun 23 2011 Dan Horák <dan at danny.cz> - 6.2.0-5
- fix non-x86 builds with recent gcc
More information about the scm-commits
mailing list