[zfs-fuse/f21] only use execstack on archs with prelink fix ppc64le detection as littleendian use up2date config.{g
Karsten Hopp
karsten at fedoraproject.org
Mon Sep 8 12:42:53 UTC 2014
commit d9c962775d9651a5eb6882e198d3238998650619
Author: Karsten Hopp <karsten at redhat.com>
Date: Mon Sep 8 14:43:23 2014 +0200
only use execstack on archs with prelink
fix ppc64le detection as littleendian
use up2date config.{guess,sub} with ppc64le support
zfs-fuse-0.7.0-ppc64le.patch | 26 ++++++++++++++++++++++++++
zfs-fuse.spec | 14 ++++++++++++--
2 files changed, 38 insertions(+), 2 deletions(-)
---
diff --git a/zfs-fuse-0.7.0-ppc64le.patch b/zfs-fuse-0.7.0-ppc64le.patch
new file mode 100644
index 0000000..67a2c33
--- /dev/null
+++ b/zfs-fuse-0.7.0-ppc64le.patch
@@ -0,0 +1,26 @@
+diff -up zfs-fuse-0.7.0/src/lib/libsolcompat/include/sys/isa_defs.h.ppc64le zfs-fuse-0.7.0/src/lib/libsolcompat/include/sys/isa_defs.h
+--- zfs-fuse-0.7.0/src/lib/libsolcompat/include/sys/isa_defs.h.ppc64le 2012-01-09 09:31:29.000000000 +0100
++++ zfs-fuse-0.7.0/src/lib/libsolcompat/include/sys/isa_defs.h 2014-09-08 12:18:28.300576917 +0200
+@@ -475,9 +475,12 @@ extern "C" {
+ /*
+ * Next defines common features between 32 and 64 bit PowerPC
+ */
++/* ppc64le has __powerpc64__ but not __BIG_ENDIAN__ */
++#if defined(__BIG_ENDIAN__)
+ #ifndef _BIG_ENDIAN
+ #define _BIG_ENDIAN
+ #endif
++#endif
+ #define _STACK_GROWS_DOWNWARD
+ #define _LONG_LONG_HTOL
+ #define _BIT_FIELDS_HTOL
+@@ -513,7 +516,9 @@ extern "C" {
+ /*
+ * Define the appropriate "implementation choices" for PowerPC 64 bit
+ */
++#if !defined(_LP64)
+ #define _LP64
++#endif
+ #if !defined(_I32LPx)
+ #define _I32LPx
+ #endif
diff --git a/zfs-fuse.spec b/zfs-fuse.spec
index 3002c0e..2e479fe 100644
--- a/zfs-fuse.spec
+++ b/zfs-fuse.spec
@@ -1,7 +1,7 @@
%define _hardened_build 1
Name: zfs-fuse
Version: 0.7.0
-Release: 19%{?dist}
+Release: 20%{?dist}
Summary: ZFS ported to Linux FUSE
Group: System Environment/Base
License: CDDL
@@ -14,6 +14,7 @@ Source04: zfs-fuse-helper
Patch0: zfs-fuse-0.7.0-umem.patch
Patch1: zfs-fuse-0.7.0-stack.patch
Patch2: zfs-fuse-printf-format.patch
+Patch3: zfs-fuse-0.7.0-ppc64le.patch
BuildRequires: fuse-devel libaio-devel scons zlib-devel openssl-devel libattr-devel
%ifnarch aarch64 ppc64le
BuildRequires: prelink
@@ -24,7 +25,7 @@ Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
# (2010 karsten at redhat.com) zfs-fuse doesn't have s390(x) implementations for atomic instructions
-ExcludeArch: s390 s390x %{arm} aarch64 ppc64le
+ExcludeArch: s390 s390x %{arm} aarch64
%description
ZFS is an advanced modern general-purpose filesystem from Sun
@@ -39,6 +40,7 @@ operating system.
%patch0 -p0
%patch1 -p1
%patch2 -p0
+%patch3 -p1 -b .ppc64le
f=LICENSE
mv $f $f.iso88591
@@ -49,6 +51,7 @@ chmod -x contrib/test-datasets
chmod -x contrib/find-binaries
chmod -x contrib/solaris/fixfiles.py
chmod -x contrib/zfsstress.py
+cp -f /usr/lib/rpm/config.{guess,sub} src/lib/libumem/
%build
export CCFLAGS="%{optflags}"
@@ -64,10 +67,12 @@ install -Dp -m 0755 %{SOURCE2} %{buildroot}%{_sysconfdir}/cron.weekly/98-%{name}
install -Dp -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/sysconfig/%{name}
install -Dp -m 0755 %{SOURCE4} %{buildroot}%{_bindir}/zfs-fuse-helper
+%ifnarch aarch64 ppc64le
#set stack not executable, BZ 911150
for i in zdb zfs zfs-fuse zpool ztest; do
/usr/bin/execstack -c %{buildroot}%{_bindir}/$i
done
+%endif
%post
# Move cache if upgrading
@@ -116,6 +121,11 @@ rm -rf /var/lock/zfs
%{_mandir}/man8/zstreamdump.8.gz
%changelog
+* Mon Sep 08 2014 Karsten Hopp <karsten at redhat.com> 0.7.0-20
+- only use execstack on archs with prelink
+- fix ppc64le detection as littleendian
+- use up2date config.{guess,sub} with ppc64le support
+
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 0.7.0-19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
More information about the scm-commits
mailing list