Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package grpc for openSUSE:Factory checked in at 2024-01-19 22:59:56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/grpc (Old) and /work/SRC/openSUSE:Factory/.grpc.new.16006 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "grpc" Fri Jan 19 22:59:56 2024 rev:70 rq:1139642 version:1.60.0 Changes: -------- --- /work/SRC/openSUSE:Factory/grpc/grpc.changes 2023-12-07 19:09:12.188597431 +0100 +++ /work/SRC/openSUSE:Factory/.grpc.new.16006/grpc.changes 2024-01-19 22:59:58.405152099 +0100 @@ -1,0 +2,10 @@ +Thu Jan 18 07:58:43 UTC 2024 - John Paul Adrian Glaubitz <adrian.glaub...@suse.com> + +- Add ARM-Unaligned-access-fixes.patch to fix unaligned + access on ARM which causes issues on AArch64 kernels +- Add Fix-compilation-on-RHEL-7-ppc64le-gcc-4.8.patch + to fix FTBFS on ppc64le when using gcc-7 (boo#1208794) +- Revert changes made to RPATH handling +- Switch build compiler back to default on SLE-15 + +------------------------------------------------------------------- New: ---- ARM-Unaligned-access-fixes.patch Fix-compilation-on-RHEL-7-ppc64le-gcc-4.8.patch BETA DEBUG BEGIN: New: - Add ARM-Unaligned-access-fixes.patch to fix unaligned access on ARM which causes issues on AArch64 kernels New: access on ARM which causes issues on AArch64 kernels - Add Fix-compilation-on-RHEL-7-ppc64le-gcc-4.8.patch to fix FTBFS on ppc64le when using gcc-7 (boo#1208794) BETA DEBUG END: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ grpc.spec ++++++ --- /var/tmp/diff_new_pack.GgoEyo/_old 2024-01-19 22:59:59.065176226 +0100 +++ /var/tmp/diff_new_pack.GgoEyo/_new 2024-01-19 22:59:59.065176226 +0100 @@ -1,7 +1,7 @@ # # spec file for package grpc # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -28,14 +28,15 @@ URL: https://grpc.io/ Source: https://github.com/grpc/grpc/archive/v%version.tar.gz Source2: %name-rpmlintrc +# PATCH-FIX-UPSTREAM ARM-Unaligned-access-fixes.patch gh#Cyan4973/xxHash#651 easyaspi...@users.noreply.github.com +# Fix unaligned access on ARM +Patch1: ARM-Unaligned-access-fixes.patch +# PATCH-FIX-UPSTREAM Fix-compilation-on-RHEL-7-ppc64le-gcc-4.8.patch gh#Cyan4973/xxHash#651 mattias.ell...@physics.uu.se +# Fix build on ppc64le on RHEL-7 with gcc-4.8 +Patch2: Fix-compilation-on-RHEL-7-ppc64le-gcc-4.8.patch BuildRequires: abseil-cpp-devel BuildRequires: cmake BuildRequires: fdupes -%if 0%{?suse_version} < 1550 -BuildRequires: gcc12-c++ -%else -BuildRequires: gcc-c++ -%endif BuildRequires: opencensus-proto-source BuildRequires: pkg-config BuildRequires: pkgconfig(libcares) >= 1.19.1 @@ -124,15 +125,13 @@ This subpackage contains source code of the gRPC reference implementation. %prep -%autosetup -p1 +%autosetup -N +pushd third_party/xxhash +%patch1 -p1 +%patch2 -p1 +popd rm -Rf third_party/abseil-cpp/ -%build -%if 0%{?suse_version} < 1550 -export CC=gcc-12 -export CXX=g++-12 -%endif -%define _lto_cflags %nil # protoc is invoked strangely; make it happy with this dir or it will assert() mkdir -p third_party/protobuf/src @@ -149,9 +148,7 @@ -DgRPC_SSL_PROVIDER=package \ -DZLIB_LIBRARY=%{_libdir}/libz.so \ -DgRPC_ZLIB_PROVIDER=package \ - -DCMAKE_CXX_STANDARD=17 \ - -DCMAKE_SKIP_RPATH=FALSE \ - -DCMAKE_SKIP_INSTALL_RPATH=TRUE + -DCMAKE_CXX_STANDARD=17 %cmake_build %install ++++++ ARM-Unaligned-access-fixes.patch ++++++ >From 316649c7bb8545571d9beb75dc2fb1abfbe6552f Mon Sep 17 00:00:00 2001 From: "easyaspi314 (Devin)" <easyaspi...@users.noreply.github.com> Date: Tue, 7 Dec 2021 21:36:13 -0500 Subject: [PATCH] [ARM] Unaligned access fixes - Use memcpy on ARMv6 and lower when unaligned access is supported - GCC has an internal conflict on whether unaligned access is available on ARMv6 so some parts do byteshift, some parts do not - aligned(1) is better on everything else - All this seems to be safe on even GCC 4.9. - Leave out the alignment check if unaligned access is supported on ARM. --- xxhash.h | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/xxhash.h b/xxhash.h index 08ab794..4cf3f0d 100644 --- a/xxhash.h +++ b/xxhash.h @@ -1402,28 +1402,18 @@ XXH3_128bits_reset_withSecretandSeed(XXH3_state_t* statePtr, */ #ifndef XXH_FORCE_MEMORY_ACCESS /* can be defined externally, on command line for example */ - /* prefer __packed__ structures (method 1) for gcc on armv7+ and mips */ -# if !defined(__clang__) && \ -( \ - (defined(__INTEL_COMPILER) && !defined(_WIN32)) || \ - ( \ - defined(__GNUC__) && ( \ - (defined(__ARM_ARCH) && __ARM_ARCH >= 7) || \ - ( \ - defined(__mips__) && \ - (__mips <= 5 || __mips_isa_rev < 6) && \ - (!defined(__mips16) || defined(__mips_mips16e2)) \ - ) \ - ) \ - ) \ -) + /* prefer __packed__ structures (method 1) for GCC + * < ARMv7 with unaligned access (e.g. Raspbian armhf) still uses byte shifting, so we use memcpy + * which for some reason does unaligned loads. */ +# if defined(__GNUC__) && !(defined(__ARM_ARCH) && __ARM_ARCH < 7 && defined(__ARM_FEATURE_UNALIGNED)) # define XXH_FORCE_MEMORY_ACCESS 1 # endif #endif #ifndef XXH_FORCE_ALIGN_CHECK /* can be defined externally */ -# if defined(__i386) || defined(__x86_64__) || defined(__aarch64__) \ - || defined(_M_IX86) || defined(_M_X64) || defined(_M_ARM64) /* visual */ + /* don't check on x86, aarch64, or arm when unaligned access is available */ +# if defined(__i386) || defined(__x86_64__) || defined(__aarch64__) || defined(__ARM_FEATURE_UNALIGNED) \ + || defined(_M_IX86) || defined(_M_X64) || defined(_M_ARM64) || defined(_M_ARM) /* visual */ # define XXH_FORCE_ALIGN_CHECK 0 # else # define XXH_FORCE_ALIGN_CHECK 1 -- 2.43.0 ++++++ Fix-compilation-on-RHEL-7-ppc64le-gcc-4.8.patch ++++++ >From 2d5f93345cacbd2a076e75e6ce33e7bf3a4b9cb0 Mon Sep 17 00:00:00 2001 From: Mattias Ellert <mattias.ell...@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 4cf3f0d..b07de0c 100644 --- a/xxhash.h +++ b/xxhash.h @@ -4119,7 +4119,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 }; @@ -4135,7 +4135,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 */ @@ -4145,7 +4145,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.43.0