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:
Mattias Ellert 2021-12-01 07:10:58 +01:00
parent 74e1194962
commit 999f4d43ac
3 changed files with 72 additions and 25 deletions

View 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

View File

@ -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)|' \
$< > $@

View File

@ -1,6 +1,6 @@
Name: xxhash Name: xxhash
Version: 0.8.0 Version: 0.8.1
Release: 4%{?dist} Release: 1%{?dist}
Summary: Extremely fast hash algorithm Summary: Extremely fast hash algorithm
# The source for the library (xxhash.c and xxhash.h) is BSD # 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+ License: BSD and GPLv2+
URL: http://www.xxhash.com/ URL: http://www.xxhash.com/
Source0: https://github.com/Cyan4973/xxHash/archive/v%{version}/%{name}-%{version}.tar.gz Source0: https://github.com/Cyan4973/xxHash/archive/v%{version}/%{name}-%{version}.tar.gz
# Fix empty version in .pc file # Fix compilation on RHEL 7 ppc64le (gcc 4.8)
# https://github.com/Cyan4973/xxHash/pull/442 # https://github.com/Cyan4973/xxHash/issues/622
Patch0: %{name}-pkgconfig-version.patch # https://github.com/Cyan4973/xxHash/pull/631
Patch0: %{name}-epel7-ppc64le.patch
BuildRequires: make BuildRequires: make
BuildRequires: gcc BuildRequires: gcc
BuildRequires: doxygen
%description %description
xxHash is an Extremely fast Hash algorithm, running at RAM speed xxHash is an Extremely fast Hash algorithm, running at RAM speed
@ -44,6 +46,14 @@ Provides: %{name}-static = %{version}-%{release}
%description devel %description devel
Development files for the xxhash library 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 %prep
%setup -q -n xxHash-%{version} %setup -q -n xxHash-%{version}
%patch0 -p1 %patch0 -p1
@ -51,18 +61,14 @@ Development files for the xxhash library
%build %build
# Enable runtime detection of sse2/avx2/avx512 on intel architectures # Enable runtime detection of sse2/avx2/avx512 on intel architectures
%ifarch %{ix86} x86_64 %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 %global dispatch 1
%endif
%else %else
%global dispatch 0 %global dispatch 0
%endif %endif
%make_build MOREFLAGS="%{__global_cflags} %{?__global_ldflags}" \ %make_build MOREFLAGS="%{__global_cflags} %{?__global_ldflags}" \
DISPATCH=%{dispatch} DISPATCH=%{dispatch}
doxygen
%install %install
%make_install PREFIX=%{_prefix} LIBDIR=%{_libdir} %make_install PREFIX=%{_prefix} LIBDIR=%{_libdir}
@ -77,8 +83,8 @@ make test-xxhsum-c
%files %files
%{_bindir}/xxh*sum %{_bindir}/xxh*sum
%{_mandir}/man1/xxh*sum.1* %{_mandir}/man1/xxh*sum.1*
%license LICENSE %license cli/COPYING
%doc README.md %doc cli/README.md
%files libs %files libs
%{_libdir}/libxxhash.so.* %{_libdir}/libxxhash.so.*
@ -91,7 +97,18 @@ make test-xxhsum-c
%{_libdir}/libxxhash.so %{_libdir}/libxxhash.so
%{_libdir}/pkgconfig/libxxhash.pc %{_libdir}/pkgconfig/libxxhash.pc
%files doc
%doc doxygen/html
%changelog %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 * Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild