Update to version 0.8.1
Drop patch xxhash-pkgconfig-version.patch (accepted upstream) Fix compilation on RHEL 7 ppc64le (gcc 4.8) The x86 dispatch code now enables sse2 and avx2 separately, it can now use sse2 on EPEL 7 without trying to use avx2 which is not supported by gcc 4.8 Add documentation package - doxygen mark-up was added
This commit is contained in:
parent
74e1194962
commit
999f4d43ac
43
xxhash-epel7-ppc64le.patch
Normal file
43
xxhash-epel7-ppc64le.patch
Normal file
@ -0,0 +1,43 @@
|
||||
From 15ce80f9f2760609d8cc68cea76d3f3217ab70e1 Mon Sep 17 00:00:00 2001
|
||||
From: Mattias Ellert <mattias.ellert@physics.uu.se>
|
||||
Date: Tue, 30 Nov 2021 23:19:38 +0100
|
||||
Subject: [PATCH] Fix compilation on RHEL 7 ppc64le (gcc 4.8)
|
||||
|
||||
---
|
||||
xxhash.h | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/xxhash.h b/xxhash.h
|
||||
index 08ab794..7850622 100644
|
||||
--- a/xxhash.h
|
||||
+++ b/xxhash.h
|
||||
@@ -4129,7 +4129,7 @@ XXH3_accumulate_512_vsx( void* XXH_RESTRICT acc,
|
||||
const void* XXH_RESTRICT secret)
|
||||
{
|
||||
/* presumed aligned */
|
||||
- unsigned long long* const xacc = (unsigned long long*) acc;
|
||||
+ unsigned int* const xacc = (unsigned int*) acc;
|
||||
xxh_u64x2 const* const xinput = (xxh_u64x2 const*) input; /* no alignment restriction */
|
||||
xxh_u64x2 const* const xsecret = (xxh_u64x2 const*) secret; /* no alignment restriction */
|
||||
xxh_u64x2 const v32 = { 32, 32 };
|
||||
@@ -4145,7 +4145,7 @@ XXH3_accumulate_512_vsx( void* XXH_RESTRICT acc,
|
||||
/* product = ((xxh_u64x2)data_key & 0xFFFFFFFF) * ((xxh_u64x2)shuffled & 0xFFFFFFFF); */
|
||||
xxh_u64x2 const product = XXH_vec_mulo((xxh_u32x4)data_key, shuffled);
|
||||
/* acc_vec = xacc[i]; */
|
||||
- xxh_u64x2 acc_vec = vec_xl(0, xacc + 2 * i);
|
||||
+ xxh_u64x2 acc_vec = (xxh_u64x2)vec_xl(0, xacc + 4 * i);
|
||||
acc_vec += product;
|
||||
|
||||
/* swap high and low halves */
|
||||
@@ -4155,7 +4155,7 @@ XXH3_accumulate_512_vsx( void* XXH_RESTRICT acc,
|
||||
acc_vec += vec_xxpermdi(data_vec, data_vec, 2);
|
||||
#endif
|
||||
/* xacc[i] = acc_vec; */
|
||||
- vec_xst(acc_vec, 0, xacc + 2 * i);
|
||||
+ vec_xst((xxh_u32x4)acc_vec, 0, xacc + 4 * i);
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.33.1
|
||||
|
@ -1,13 +0,0 @@
|
||||
diff --git a/Makefile b/Makefile
|
||||
index ef24e94..da1ce06 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -437,7 +437,7 @@ libxxhash.pc: libxxhash.pc.in
|
||||
-e 's|@EXECPREFIX@|$(PCEXECDIR)|' \
|
||||
-e 's|@LIBDIR@|$(PCLIBDIR)|' \
|
||||
-e 's|@INCLUDEDIR@|$(PCINCDIR)|' \
|
||||
- -e 's|@VERSION@|$(VERSION)|' \
|
||||
+ -e 's|@VERSION@|$(LIBVER)|' \
|
||||
$< > $@
|
||||
|
||||
|
41
xxhash.spec
41
xxhash.spec
@ -1,6 +1,6 @@
|
||||
Name: xxhash
|
||||
Version: 0.8.0
|
||||
Release: 4%{?dist}
|
||||
Version: 0.8.1
|
||||
Release: 1%{?dist}
|
||||
Summary: Extremely fast hash algorithm
|
||||
|
||||
# The source for the library (xxhash.c and xxhash.h) is BSD
|
||||
@ -8,12 +8,14 @@ Summary: Extremely fast hash algorithm
|
||||
License: BSD and GPLv2+
|
||||
URL: http://www.xxhash.com/
|
||||
Source0: https://github.com/Cyan4973/xxHash/archive/v%{version}/%{name}-%{version}.tar.gz
|
||||
# Fix empty version in .pc file
|
||||
# https://github.com/Cyan4973/xxHash/pull/442
|
||||
Patch0: %{name}-pkgconfig-version.patch
|
||||
# Fix compilation on RHEL 7 ppc64le (gcc 4.8)
|
||||
# https://github.com/Cyan4973/xxHash/issues/622
|
||||
# https://github.com/Cyan4973/xxHash/pull/631
|
||||
Patch0: %{name}-epel7-ppc64le.patch
|
||||
|
||||
BuildRequires: make
|
||||
BuildRequires: gcc
|
||||
BuildRequires: doxygen
|
||||
|
||||
%description
|
||||
xxHash is an Extremely fast Hash algorithm, running at RAM speed
|
||||
@ -44,6 +46,14 @@ Provides: %{name}-static = %{version}-%{release}
|
||||
%description devel
|
||||
Development files for the xxhash library
|
||||
|
||||
%package doc
|
||||
Summary: Extremely fast hash algorithm - documentation files
|
||||
License: BSD
|
||||
BuildArch: noarch
|
||||
|
||||
%description doc
|
||||
Documentation files for the xxhash library
|
||||
|
||||
%prep
|
||||
%setup -q -n xxHash-%{version}
|
||||
%patch0 -p1
|
||||
@ -51,18 +61,14 @@ Development files for the xxhash library
|
||||
%build
|
||||
# Enable runtime detection of sse2/avx2/avx512 on intel architectures
|
||||
%ifarch %{ix86} x86_64
|
||||
# The compiler version in EPEL 6 and 7 does not support avx
|
||||
%if %{?rhel}%{!?rhel:0} == 6 || %{?rhel}%{!?rhel:0} == 7
|
||||
%global dispatch 0
|
||||
%else
|
||||
%global dispatch 1
|
||||
%endif
|
||||
%else
|
||||
%global dispatch 0
|
||||
%endif
|
||||
|
||||
%make_build MOREFLAGS="%{__global_cflags} %{?__global_ldflags}" \
|
||||
DISPATCH=%{dispatch}
|
||||
doxygen
|
||||
|
||||
%install
|
||||
%make_install PREFIX=%{_prefix} LIBDIR=%{_libdir}
|
||||
@ -77,8 +83,8 @@ make test-xxhsum-c
|
||||
%files
|
||||
%{_bindir}/xxh*sum
|
||||
%{_mandir}/man1/xxh*sum.1*
|
||||
%license LICENSE
|
||||
%doc README.md
|
||||
%license cli/COPYING
|
||||
%doc cli/README.md
|
||||
|
||||
%files libs
|
||||
%{_libdir}/libxxhash.so.*
|
||||
@ -91,7 +97,18 @@ make test-xxhsum-c
|
||||
%{_libdir}/libxxhash.so
|
||||
%{_libdir}/pkgconfig/libxxhash.pc
|
||||
|
||||
%files doc
|
||||
%doc doxygen/html
|
||||
|
||||
%changelog
|
||||
* Mon Nov 29 2021 Mattias Ellert <mattias.ellert@physics.uu.se> - 0.8.1-1
|
||||
- Update to version 0.8.1
|
||||
- Drop patch xxhash-pkgconfig-version.patch (accepted upstream)
|
||||
- Fix compilation on RHEL 7 ppc64le (gcc 4.8)
|
||||
- The x86 dispatch code now enables sse2 and avx2 separately, it can now use
|
||||
sse2 on EPEL 7 without trying to use avx2 which is not supported by gcc 4.8
|
||||
- Add documentation package - doxygen mark-up was added
|
||||
|
||||
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user