[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