[packages/crcutil] x32 ftbfs fix
glen
glen at pld-linux.org
Mon Jul 4 09:30:11 CEST 2016
commit 0f01a5e8f31fcd317805830eb2b911058c4f626d
Author: Elan Ruusamäe <glen at delfi.ee>
Date: Mon Jul 4 10:29:06 2016 +0300
x32 ftbfs fix
patch from pld libzardfs package
https://github.com/pld-linux/lizardfs/blob/auto/th/lizardfs-3.9.4-2/x32.patch
crcutil.spec | 2 ++
x32.patch | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 67 insertions(+)
---
diff --git a/crcutil.spec b/crcutil.spec
index 992af5a..9784314 100644
--- a/crcutil.spec
+++ b/crcutil.spec
@@ -16,6 +16,7 @@ Patch1: build-fix-tests.patch
Patch2: automake.patch
Patch3: library.patch
Patch4: build-unclobber.patch
+Patch5: x32.patch
URL: https://code.google.com/archive/p/crcutil/
BuildRequires: autoconf
BuildRequires: automake
@@ -75,6 +76,7 @@ Dokumentacja API biblioteki %{name}.
%patch2 -p1
%patch3 -p1
%patch4 -p1
+%patch5 -p3
%build
%{__libtoolize}
diff --git a/x32.patch b/x32.patch
new file mode 100644
index 0000000..3dd4cc4
--- /dev/null
+++ b/x32.patch
@@ -0,0 +1,65 @@
+diff -ur lizardfs-v.3.9.4.orig/external/crcutil-1.0/code/crc32c_sse4.h lizardfs-v.3.9.4/external/crcutil-1.0/code/crc32c_sse4.h
+--- lizardfs-v.3.9.4.orig/external/crcutil-1.0/code/crc32c_sse4.h 2015-12-09 10:32:07.000000000 +0100
++++ lizardfs-v.3.9.4/external/crcutil-1.0/code/crc32c_sse4.h 2016-07-02 16:26:42.667508219 +0200
+@@ -26,7 +26,7 @@
+
+ #if CRCUTIL_USE_MM_CRC32
+
+-#if HAVE_I386
++#if HAVE_I386 || defined(__ILP32__)
+ #define CRC_UPDATE_WORD(crc, value) (crc = _mm_crc32_u32(crc, (value)))
+ #else
+ #define CRC_UPDATE_WORD(crc, value) (crc = _mm_crc32_u64(crc, (value)))
+Only in lizardfs-v.3.9.4/external/crcutil-1.0/code: crc32c_sse4.h~
+diff -ur lizardfs-v.3.9.4.orig/external/crcutil-1.0/code/crc32c_sse4_intrin.h lizardfs-v.3.9.4/external/crcutil-1.0/code/crc32c_sse4_intrin.h
+--- lizardfs-v.3.9.4.orig/external/crcutil-1.0/code/crc32c_sse4_intrin.h 2015-12-09 10:32:07.000000000 +0100
++++ lizardfs-v.3.9.4/external/crcutil-1.0/code/crc32c_sse4_intrin.h 2016-07-02 16:26:58.961054828 +0200
+@@ -55,7 +55,7 @@
+ _mm_crc32_u8(unsigned int __C, unsigned char __V) {
+ return __builtin_ia32_crc32qi(__C, __V);
+ }
+-#ifdef __x86_64__
++#if defined(__x86_64__) && !defined(__ILP32__)
+ extern __inline unsigned long long __attribute__((
+ __gnu_inline__, __always_inline__, __artificial__))
+ _mm_crc32_u64(unsigned long long __C, unsigned long long __V) {
+Only in lizardfs-v.3.9.4/external/crcutil-1.0/code: crc32c_sse4_intrin.h~
+diff -ur lizardfs-v.3.9.4.orig/external/crcutil-1.0/code/generic_crc.h lizardfs-v.3.9.4/external/crcutil-1.0/code/generic_crc.h
+--- lizardfs-v.3.9.4.orig/external/crcutil-1.0/code/generic_crc.h 2015-12-09 10:32:07.000000000 +0100
++++ lizardfs-v.3.9.4/external/crcutil-1.0/code/generic_crc.h 2016-07-02 16:27:18.967983085 +0200
+@@ -188,7 +188,7 @@
+
+ // Default CRC implementation
+ Crc CrcDefault(const void *data, size_t bytes, const Crc &start) const {
+-#if HAVE_AMD64 || HAVE_I386
++#if (defined(HAVE_AMD64) || defined(HAVE_I386)) && !defined(__ILP32__)
+ return CrcMultiword(data, bytes, start);
+ #else
+ // Very few CPUs have multiple ALUs and speculative execution
+Only in lizardfs-v.3.9.4/external/crcutil-1.0/code: generic_crc.h~
+diff -ur lizardfs-v.3.9.4.orig/external/crcutil-1.0/code/multiword_128_64_gcc_amd64_sse2.cc lizardfs-v.3.9.4/external/crcutil-1.0/code/multiword_128_64_gcc_amd64_sse2.cc
+--- lizardfs-v.3.9.4.orig/external/crcutil-1.0/code/multiword_128_64_gcc_amd64_sse2.cc 2015-12-09 10:32:07.000000000 +0100
++++ lizardfs-v.3.9.4/external/crcutil-1.0/code/multiword_128_64_gcc_amd64_sse2.cc 2016-07-02 16:27:31.598148065 +0200
+@@ -26,7 +26,7 @@
+ #include "generic_crc.h"
+ #include "uint128_sse2.h"
+
+-#if defined(__GNUC__) && CRCUTIL_USE_ASM && HAVE_AMD64 && HAVE_SSE2
++#if defined(__GNUC__) && CRCUTIL_USE_ASM && HAVE_AMD64 && HAVE_SSE2 && !defined(__ILP32__)
+
+ namespace crcutil {
+
+Only in lizardfs-v.3.9.4/external/crcutil-1.0/code: multiword_128_64_gcc_amd64_sse2.cc~
+diff -ur lizardfs-v.3.9.4.orig/external/crcutil-1.0/code/multiword_64_64_gcc_amd64_asm.cc lizardfs-v.3.9.4/external/crcutil-1.0/code/multiword_64_64_gcc_amd64_asm.cc
+--- lizardfs-v.3.9.4.orig/external/crcutil-1.0/code/multiword_64_64_gcc_amd64_asm.cc 2015-12-09 10:32:07.000000000 +0100
++++ lizardfs-v.3.9.4/external/crcutil-1.0/code/multiword_64_64_gcc_amd64_asm.cc 2016-07-02 16:27:52.478420548 +0200
+@@ -42,7 +42,7 @@
+
+ #include "generic_crc.h"
+
+-#if defined(__GNUC__) && CRCUTIL_USE_ASM && HAVE_AMD64
++#if defined(__GNUC__) && CRCUTIL_USE_ASM && HAVE_AMD64 && !defined(__ILP32__)
+
+ namespace crcutil {
+
+Only in lizardfs-v.3.9.4/external/crcutil-1.0/code: multiword_64_64_gcc_amd64_asm.cc~
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/crcutil.git/commitdiff/0f01a5e8f31fcd317805830eb2b911058c4f626d
More information about the pld-cvs-commit
mailing list