SHA256
1
0
forked from pool/xxhash

Compare commits

..

No commits in common. "master" and "factory" have entirely different histories.

6 changed files with 45 additions and 96 deletions

View File

@ -1,32 +0,0 @@
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

View File

@ -1,22 +1,16 @@
From: Bruno Pitrus <brunopitrus@hotmail.com> From: Bruno Pitrus <brunopitrus@hotmail.com>
Date: 2024-05-05 19:35:03+0000 Date: 2024-05-05 19:35:03+0000
--- --- xxHash-0.8.2/Makefile.old 2023-07-21 12:01:35.000000000 +0200
Makefile | 4 ++-- +++ xxHash-0.8.2/Makefile 2024-05-05 21:19:32.265851133 +0200
1 file changed, 2 insertions(+), 2 deletions(-) @@ -450,8 +450,8 @@ test-all: test test32 test-unicode clang
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 .PHONY: test-tools
test-tools: test-tools:
- CFLAGS=-Werror $(MAKE) -C tests/bench - CFLAGS=-Werror $(MAKE) -C tests/bench
- CFLAGS=-Werror $(MAKE) -C tests/collisions check - CFLAGS=-Werror $(MAKE) -C tests/collisions
+ $(MAKE) -C tests/bench + $(MAKE) -C tests/bench
+ $(MAKE) -C tests/collisions check + $(MAKE) -C tests/collisions
.PHONY: test-xxh-nnn-sums .PHONY: test-xxh-nnn-sums
test-xxh-nnn-sums: xxhsum_and_links test-xxh-nnn-sums: xxhsum_and_links

BIN
v0.8.3.tar.gz (Stored with Git LFS)

Binary file not shown.

BIN
xxHash-0.8.2.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,17 +1,3 @@
-------------------------------------------------------------------
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> Sun May 5 19:35:03 UTC 2024 - Bruno Pitrus <brunopitrus@hotmail.com>

View File

@ -17,19 +17,16 @@
Name: xxhash Name: xxhash
Version: 0.8.3 Version: 0.8.2
Release: 0 Release: 0
Summary: Non-cryptographic hash algorithm Summary: Non-cryptographic hash algorithm
License: BSD-2-Clause AND GPL-2.0-only License: BSD-2-Clause AND GPL-2.0-only
Group: Productivity/Security Group: Productivity/Security
URL: https://github.com/Cyan4973/xxHash URL: https://github.com/Cyan4973/xxHash
Source: https://github.com/Cyan4973/xxHash/archive/v%version.tar.gz Source0: https://github.com/Cyan4973/xxHash/archive/v%{version}.tar.gz#/xxHash-%{version}.tar.gz
Patch1: test-tools-do-not-override-cflags.patch Patch0: test-tools-do-not-override-cflags.patch
Patch2: inline.patch
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: pkg-config BuildRequires: pkgconfig
BuildRequires: time
%{?suse_build_hwcaps_libs}
%description %description
xxHash is a hash algorithm. It completes the SMHasher test suite which xxHash is a hash algorithm. It completes the SMHasher test suite which
@ -37,49 +34,46 @@ evaluates collision, dispersion and randomness qualities of hash functions.
Hashes are identical on all platforms. Hashes are identical on all platforms.
%package -n libxxhash0 %package -n libxxhash0
Summary: Non-cryptographic hash algorithm Summary: Shared library for xxHash - a non-cryptographic hash algorithm
License: BSD-2-Clause License: BSD-2-Clause
Group: System/Libraries Group: System/Libraries
%description -n libxxhash0 %description -n libxxhash0
xxHash is a hash algorithm. It completes the SMHasher test suite which Shared library for xxHash - a hash algorithm. It completes the SMHasher test
evaluates collision, dispersion and randomness qualities of hash functions. suite which evaluates collision, dispersion and randomness qualities of hash
Hashes are identical on all platforms. functions. Hashes are identical on all platforms.
%package devel %package devel
Summary: Headers for xxHash, a non-cryptographic hash algorithm Summary: Development files for xxHash - a non-cryptographic hash algorithm
License: BSD-2-Clause License: BSD-2-Clause
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: %name = %version Requires: %{name} = %{version}
Requires: libxxhash0 = %version Requires: libxxhash0 = %{version}
%description devel %description devel
Headers and other development files for xxHash. 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.
%prep %prep
%autosetup -p1 -n xxHash-%version %autosetup -p1 -n xxHash-%{version}
%build %build
# ALLOW_AVX just means "we guarantee we policed our %%optflags". export CFLAGS="%{optflags}"
export CFLAGS="%optflags -DXXH_X86DISPATCH_ALLOW_AVX=1" export CXXFLAGS="%{optflags}"
export CXXFLAGS="$CFLAGS"
export LDFLAGS="%{?build_ldflags}" export LDFLAGS="%{?build_ldflags}"
# DISPATCH=1 if you want AVX2/AVX512. But it does not seem to perform any %make_build prefix=%{_prefix} libdir=%{_libdir}
# 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 %install
export CFLAGS="%optflags -DXXH_X86DISPATCH_ALLOW_AVX=1" export CFLAGS="%{optflags}"
export CXXFLAGS="%optflags" export CXXFLAGS="%{optflags}"
export LDFLAGS="%{?build_ldflags}" export LDFLAGS="%{?build_ldflags}"
%make_install prefix=%_prefix libdir=%_libdir %make_install prefix=%{_prefix} libdir=%{_libdir}
rm -rf %buildroot%_libdir/libxxhash.a rm -rf %{buildroot}%{_libdir}/libxxhash.a
%check %check
export CFLAGS="%optflags" export CFLAGS="%{optflags}"
export CXXFLAGS="%optflags" export CXXFLAGS="%{optflags}"
export LDFLAGS="%{?build_ldflags}" export LDFLAGS="%{?build_ldflags}"
# not safe for parallel execution as it removes xxhash.o and recreates it with different flags # 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 # the list is taken from test-all with non-working/irrelevant ones (such as ones that change the toolchain) removed
@ -90,15 +84,22 @@ export LDFLAGS="%{?build_ldflags}"
%files %files
%license LICENSE %license LICENSE
%doc README.md %doc README.md
%_bindir/xxh* %{_bindir}/xxhsum
%_mandir/man1/xxh* %{_bindir}/xxh32sum
%{_bindir}/xxh64sum
%{_bindir}/xxh128sum
%{_mandir}/man1/xxh32sum.*
%{_mandir}/man1/xxh64sum.*
%{_mandir}/man1/xxh128sum.*
%{_mandir}/man1/xxhsum.*
%files -n libxxhash0 %files -n libxxhash0
%_libdir/libxxhash.so.* %{_libdir}/libxxhash.so.*
%files devel %files devel
%_includedir/*.h %{_includedir}/xxhash.h
%_libdir/pkgconfig/*.pc %{_includedir}/xxh3.h
%_libdir/libxxhash.so %{_libdir}/pkgconfig/libxxhash.pc
%{_libdir}/libxxhash.so
%changelog %changelog