forked from pool/xxhash
Compare commits
8 Commits
Author | SHA256 | Date | |
---|---|---|---|
|
76af38def1 | ||
|
a03a4f1d99 | ||
|
29e926eee8 | ||
|
4c134ddc86 | ||
|
afb7e34294 | ||
|
948f2e707d | ||
|
7623b5f824 | ||
a43ef4358e |
4
_scmsync.obsinfo
Normal file
4
_scmsync.obsinfo
Normal file
@ -0,0 +1,4 @@
|
||||
mtime: 1735588856
|
||||
commit: dd117a6fc33399c22f6e7352b8796f91ebe3cc436fa84f61556b5e66266b5976
|
||||
url: https://src.opensuse.org/jengelh/xxhash
|
||||
revision: master
|
3
build.specials.obscpio
Normal file
3
build.specials.obscpio
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:967007efcdc79e20255a1e51f4b7b3d10b70566d4828a904ecaeb252880e7bdd
|
||||
size 256
|
32
inline.patch
Normal file
32
inline.patch
Normal file
@ -0,0 +1,32 @@
|
||||
From: Jan Engelhardt <jengelh@inai.de>
|
||||
Date: 2024-09-04 17:08:46.573623857 +0200
|
||||
References: https://github.com/Cyan4973/xxHash/issues/943
|
||||
|
||||
Ditch forced inlining, gcc-14 does not like it when combined with -Og.
|
||||
(gcc-13 was fine.) And I want everyone to be able to use -Og.
|
||||
|
||||
In function 'void XXH3_hashLong_internal_loop(xxh_u64*, const xxh_u8*, size_t, const xxh_u8*, size_t, XXH3_f_accumulate, XXH3_f_scrambleAcc)',
|
||||
inlined from 'XXH_NAMESPACEXXH128_hash_t XXH3_hashLong_128b_internal(const void*, size_t, const xxh_u8*, size_t, XXH3_f_accumulate, XXH3_f_scrambleAcc)' at /usr/include/xxhash.h:6416:32,
|
||||
inlined from 'XXH_NAMESPACEXXH128_hash_t XXH3_hashLong_128b_default(const void*, size_t, XXH64_hash_t, const void*, size_t)' at /usr/include/xxhash.h:6442:39:
|
||||
/usr/include/xxhash.h:5364:18: error: inlining failed in call to 'always_inline' 'void XXH3_accumulate_scalar(xxh_u64*, const xxh_u8*, const xxh_u8*, size_t)': function not considered for inlining
|
||||
5364 | XXH_FORCE_INLINE XXH3_ACCUMULATE_TEMPLATE(scalar)
|
||||
/usr/include/xxhash.h:5544:14: note: called from here
|
||||
5544 | f_acc(acc, input + n*block_len, secret, nbStripesPerBlock);
|
||||
|
||||
---
|
||||
xxhash.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Index: xxHash-0.8.3/xxhash.h
|
||||
===================================================================
|
||||
--- xxHash-0.8.3.orig/xxhash.h
|
||||
+++ xxHash-0.8.3/xxhash.h
|
||||
@@ -2421,7 +2421,7 @@ static void* XXH_memcpy(void* dest, cons
|
||||
# define XXH_NO_INLINE static
|
||||
/* enable inlining hints */
|
||||
#elif defined(__GNUC__) || defined(__clang__)
|
||||
-# define XXH_FORCE_INLINE static __inline__ __attribute__((__always_inline__, __unused__))
|
||||
+# define XXH_FORCE_INLINE static __inline__ __attribute__((__unused__))
|
||||
# define XXH_NO_INLINE static __attribute__((__noinline__))
|
||||
#elif defined(_MSC_VER) /* Visual Studio */
|
||||
# define XXH_FORCE_INLINE static __forceinline
|
@ -1,16 +1,22 @@
|
||||
From: Bruno Pitrus <brunopitrus@hotmail.com>
|
||||
Date: 2024-05-05 19:35:03+0000
|
||||
|
||||
--- xxHash-0.8.2/Makefile.old 2023-07-21 12:01:35.000000000 +0200
|
||||
+++ xxHash-0.8.2/Makefile 2024-05-05 21:19:32.265851133 +0200
|
||||
@@ -450,8 +450,8 @@ test-all: test test32 test-unicode clang
|
||||
---
|
||||
Makefile | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: xxHash-0.8.3/Makefile
|
||||
===================================================================
|
||||
--- xxHash-0.8.3.orig/Makefile
|
||||
+++ xxHash-0.8.3/Makefile
|
||||
@@ -483,8 +483,8 @@ test-all: test test32 test-unicode clang
|
||||
|
||||
.PHONY: test-tools
|
||||
test-tools:
|
||||
- CFLAGS=-Werror $(MAKE) -C tests/bench
|
||||
- CFLAGS=-Werror $(MAKE) -C tests/collisions
|
||||
- CFLAGS=-Werror $(MAKE) -C tests/collisions check
|
||||
+ $(MAKE) -C tests/bench
|
||||
+ $(MAKE) -C tests/collisions
|
||||
+ $(MAKE) -C tests/collisions check
|
||||
|
||||
.PHONY: test-xxh-nnn-sums
|
||||
test-xxh-nnn-sums: xxhsum_and_links
|
||||
|
BIN
v0.8.3.tar.gz
(Stored with Git LFS)
Normal file
BIN
v0.8.3.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
xxHash-0.8.2.tar.gz
(Stored with Git LFS)
BIN
xxHash-0.8.2.tar.gz
(Stored with Git LFS)
Binary file not shown.
@ -1,3 +1,17 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Dec 30 19:52:02 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Update to release 0.8.3
|
||||
* Corrects an edge case in ``XXH3_128bits_withSecretandSeed``
|
||||
that could generate invalid results.
|
||||
* xxhash now knows command-line arguments ``--filelist``,
|
||||
``--files-from``.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 3 02:11:09 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Add inline.patch to resolve FTBFS on gcc-14 + -Og.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun May 5 19:35:03 UTC 2024 - Bruno Pitrus <brunopitrus@hotmail.com>
|
||||
|
||||
|
73
xxhash.spec
73
xxhash.spec
@ -17,16 +17,19 @@
|
||||
|
||||
|
||||
Name: xxhash
|
||||
Version: 0.8.2
|
||||
Version: 0.8.3
|
||||
Release: 0
|
||||
Summary: Non-cryptographic hash algorithm
|
||||
License: BSD-2-Clause AND GPL-2.0-only
|
||||
Group: Productivity/Security
|
||||
URL: https://github.com/Cyan4973/xxHash
|
||||
Source0: https://github.com/Cyan4973/xxHash/archive/v%{version}.tar.gz#/xxHash-%{version}.tar.gz
|
||||
Patch0: test-tools-do-not-override-cflags.patch
|
||||
Source: https://github.com/Cyan4973/xxHash/archive/v%version.tar.gz
|
||||
Patch1: test-tools-do-not-override-cflags.patch
|
||||
Patch2: inline.patch
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: pkg-config
|
||||
BuildRequires: time
|
||||
%{?suse_build_hwcaps_libs}
|
||||
|
||||
%description
|
||||
xxHash is a hash algorithm. It completes the SMHasher test suite which
|
||||
@ -34,46 +37,49 @@ evaluates collision, dispersion and randomness qualities of hash functions.
|
||||
Hashes are identical on all platforms.
|
||||
|
||||
%package -n libxxhash0
|
||||
Summary: Shared library for xxHash - a non-cryptographic hash algorithm
|
||||
Summary: Non-cryptographic hash algorithm
|
||||
License: BSD-2-Clause
|
||||
Group: System/Libraries
|
||||
|
||||
%description -n libxxhash0
|
||||
Shared library for xxHash - a hash algorithm. It completes the SMHasher test
|
||||
suite which evaluates collision, dispersion and randomness qualities of hash
|
||||
functions. Hashes are identical on all platforms.
|
||||
xxHash is a hash algorithm. It completes the SMHasher test suite which
|
||||
evaluates collision, dispersion and randomness qualities of hash functions.
|
||||
Hashes are identical on all platforms.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for xxHash - a non-cryptographic hash algorithm
|
||||
Summary: Headers for xxHash, a non-cryptographic hash algorithm
|
||||
License: BSD-2-Clause
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: %{name} = %{version}
|
||||
Requires: libxxhash0 = %{version}
|
||||
Requires: %name = %version
|
||||
Requires: libxxhash0 = %version
|
||||
|
||||
%description devel
|
||||
Development files for xxHash - a hash algorithm. It completes the SMHasher test
|
||||
suite which evaluates collision, dispersion and randomness qualities of hash
|
||||
functions. Hashes are identical on all platforms.
|
||||
Headers and other development files for xxHash.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n xxHash-%{version}
|
||||
%autosetup -p1 -n xxHash-%version
|
||||
|
||||
%build
|
||||
export CFLAGS="%{optflags}"
|
||||
export CXXFLAGS="%{optflags}"
|
||||
# ALLOW_AVX just means "we guarantee we policed our %%optflags".
|
||||
export CFLAGS="%optflags -DXXH_X86DISPATCH_ALLOW_AVX=1"
|
||||
export CXXFLAGS="$CFLAGS"
|
||||
export LDFLAGS="%{?build_ldflags}"
|
||||
%make_build prefix=%{_prefix} libdir=%{_libdir}
|
||||
# DISPATCH=1 if you want AVX2/AVX512. But it does not seem to perform any
|
||||
# better than the lowest-denomimation code on at least the 1135G7 and 5950X
|
||||
# CPUs, and for both LP64 as well as ILP32 — it seems to be all within margin
|
||||
# of error.
|
||||
%make_build prefix=%_prefix libdir=%_libdir
|
||||
|
||||
%install
|
||||
export CFLAGS="%{optflags}"
|
||||
export CXXFLAGS="%{optflags}"
|
||||
export CFLAGS="%optflags -DXXH_X86DISPATCH_ALLOW_AVX=1"
|
||||
export CXXFLAGS="%optflags"
|
||||
export LDFLAGS="%{?build_ldflags}"
|
||||
%make_install prefix=%{_prefix} libdir=%{_libdir}
|
||||
rm -rf %{buildroot}%{_libdir}/libxxhash.a
|
||||
%make_install prefix=%_prefix libdir=%_libdir
|
||||
rm -rf %buildroot%_libdir/libxxhash.a
|
||||
|
||||
%check
|
||||
export CFLAGS="%{optflags}"
|
||||
export CXXFLAGS="%{optflags}"
|
||||
export CFLAGS="%optflags"
|
||||
export CXXFLAGS="%optflags"
|
||||
export LDFLAGS="%{?build_ldflags}"
|
||||
# not safe for parallel execution as it removes xxhash.o and recreates it with different flags
|
||||
# the list is taken from test-all with non-working/irrelevant ones (such as ones that change the toolchain) removed
|
||||
@ -84,22 +90,15 @@ export LDFLAGS="%{?build_ldflags}"
|
||||
%files
|
||||
%license LICENSE
|
||||
%doc README.md
|
||||
%{_bindir}/xxhsum
|
||||
%{_bindir}/xxh32sum
|
||||
%{_bindir}/xxh64sum
|
||||
%{_bindir}/xxh128sum
|
||||
%{_mandir}/man1/xxh32sum.*
|
||||
%{_mandir}/man1/xxh64sum.*
|
||||
%{_mandir}/man1/xxh128sum.*
|
||||
%{_mandir}/man1/xxhsum.*
|
||||
%_bindir/xxh*
|
||||
%_mandir/man1/xxh*
|
||||
|
||||
%files -n libxxhash0
|
||||
%{_libdir}/libxxhash.so.*
|
||||
%_libdir/libxxhash.so.*
|
||||
|
||||
%files devel
|
||||
%{_includedir}/xxhash.h
|
||||
%{_includedir}/xxh3.h
|
||||
%{_libdir}/pkgconfig/libxxhash.pc
|
||||
%{_libdir}/libxxhash.so
|
||||
%_includedir/*.h
|
||||
%_libdir/pkgconfig/*.pc
|
||||
%_libdir/libxxhash.so
|
||||
|
||||
%changelog
|
||||
|
Loading…
Reference in New Issue
Block a user