Accepting request 1198762 from science
- Add inline.patch to resolve FTBFS on gcc-14 + -Og. OBS-URL: https://build.opensuse.org/request/show/1198762 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xxhash?expand=0&rev=12
This commit is contained in:
commit
4c134ddc86
4
_scmsync.obsinfo
Normal file
4
_scmsync.obsinfo
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
mtime: 1725462627
|
||||||
|
commit: 679f82e202407e8aea6eb1514bbeb3f5024ded59fc3a4a33a1607268d40dbfb1
|
||||||
|
url: https://src.opensuse.org/jengelh/xxhash
|
||||||
|
revision: master
|
BIN
build.specials.obscpio
(Stored with Git LFS)
Normal file
BIN
build.specials.obscpio
(Stored with Git LFS)
Normal file
Binary file not shown.
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.2/xxhash.h
|
||||||
|
===================================================================
|
||||||
|
--- xxHash-0.8.2.orig/xxhash.h
|
||||||
|
+++ xxHash-0.8.2/xxhash.h
|
||||||
|
@@ -2107,7 +2107,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,3 +1,8 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
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>
|
||||||
|
|
||||||
|
31
xxhash.spec
31
xxhash.spec
@ -24,9 +24,11 @@ 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
|
||||||
Source0: https://github.com/Cyan4973/xxHash/archive/v%{version}.tar.gz#/xxHash-%{version}.tar.gz
|
Source0: https://github.com/Cyan4973/xxHash/archive/v%{version}.tar.gz#/xxHash-%{version}.tar.gz
|
||||||
Patch0: test-tools-do-not-override-cflags.patch
|
Patch1: test-tools-do-not-override-cflags.patch
|
||||||
|
Patch2: inline.patch
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
BuildRequires: pkgconfig
|
BuildRequires: pkg-config
|
||||||
|
%{?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
|
||||||
@ -34,38 +36,41 @@ 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: Shared library for xxHash - a non-cryptographic hash algorithm
|
Summary: Non-cryptographic hash algorithm
|
||||||
License: BSD-2-Clause
|
License: BSD-2-Clause
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
|
|
||||||
%description -n libxxhash0
|
%description -n libxxhash0
|
||||||
Shared library for xxHash - a hash algorithm. It completes the SMHasher test
|
xxHash is a hash algorithm. It completes the SMHasher test suite which
|
||||||
suite which evaluates collision, dispersion and randomness qualities of hash
|
evaluates collision, dispersion and randomness qualities of hash functions.
|
||||||
functions. Hashes are identical on all platforms.
|
Hashes are identical on all platforms.
|
||||||
|
|
||||||
%package devel
|
%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
|
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
|
||||||
Development files for xxHash - a hash algorithm. It completes the SMHasher test
|
Headers and other development files for xxHash.
|
||||||
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
|
||||||
export CFLAGS="%{optflags}"
|
# ALLOW_AVX just means "we guarantee we policed our %%optflags".
|
||||||
export CXXFLAGS="%{optflags}"
|
export CFLAGS="%{optflags} -DXXH_X86DISPATCH_ALLOW_AVX=1"
|
||||||
|
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
|
||||||
|
# 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}
|
%make_build prefix=%{_prefix} libdir=%{_libdir}
|
||||||
|
|
||||||
%install
|
%install
|
||||||
export CFLAGS="%{optflags}"
|
export CFLAGS="%{optflags} -DXXH_X86DISPATCH_ALLOW_AVX=1"
|
||||||
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}
|
||||||
|
Loading…
Reference in New Issue
Block a user