Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package abseil-cpp for openSUSE:Factory checked in at 2026-02-16 13:22:58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/abseil-cpp (Old) and /work/SRC/openSUSE:Factory/.abseil-cpp.new.1977 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "abseil-cpp" Mon Feb 16 13:22:58 2026 rev:52 rq:1332975 version:20260107.1 Changes: -------- --- /work/SRC/openSUSE:Factory/abseil-cpp/abseil-cpp.changes 2026-01-21 14:10:53.078651042 +0100 +++ /work/SRC/openSUSE:Factory/.abseil-cpp.new.1977/abseil-cpp.changes 2026-02-16 13:23:01.576314572 +0100 @@ -1,0 +2,7 @@ +Fri Feb 13 18:35:09 UTC 2026 - Andreas Stieger <[email protected]> + +- Update to 20260107.1: + * Fix sign-extension issue in absl::HexStringToBytes() + * Restrict MSVC CRC32 intrinsics to x64 + +------------------------------------------------------------------- Old: ---- abseil-cpp-20260107.0.tar.gz New: ---- abseil-cpp-20260107.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ abseil-cpp.spec ++++++ --- /var/tmp/diff_new_pack.v05i5p/_old 2026-02-16 13:23:02.384348185 +0100 +++ /var/tmp/diff_new_pack.v05i5p/_new 2026-02-16 13:23:02.388348351 +0100 @@ -20,7 +20,7 @@ %global soversion so.2601.0.0 %global lname_suffix 2601_0_0 Name: abseil-cpp -Version: 20260107.0 +Version: 20260107.1 Release: 0 Summary: C++ libraries which augment the C++ stdlib License: Apache-2.0 ++++++ abseil-cpp-20260107.0.tar.gz -> abseil-cpp-20260107.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/abseil-cpp-20260107.0/MODULE.bazel new/abseil-cpp-20260107.1/MODULE.bazel --- old/abseil-cpp-20260107.0/MODULE.bazel 2026-01-07 20:26:27.000000000 +0100 +++ new/abseil-cpp-20260107.1/MODULE.bazel 2026-02-11 16:34:48.000000000 +0100 @@ -16,7 +16,7 @@ module( name = "abseil-cpp", - version = "20260107.0", + version = "20260107.1", compatibility_level = 1, ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/abseil-cpp-20260107.0/absl/base/config.h new/abseil-cpp-20260107.1/absl/base/config.h --- old/abseil-cpp-20260107.0/absl/base/config.h 2026-01-07 20:26:27.000000000 +0100 +++ new/abseil-cpp-20260107.1/absl/base/config.h 2026-02-11 16:34:48.000000000 +0100 @@ -118,7 +118,7 @@ // LTS releases can be obtained from // https://github.com/abseil/abseil-cpp/releases. #define ABSL_LTS_RELEASE_VERSION 20260107 -#define ABSL_LTS_RELEASE_PATCH_LEVEL 0 +#define ABSL_LTS_RELEASE_PATCH_LEVEL 1 // Helper macro to convert a CPP variable to a string literal. #define ABSL_INTERNAL_DO_TOKEN_STR(x) #x diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/abseil-cpp-20260107.0/absl/hash/internal/hash.h new/abseil-cpp-20260107.1/absl/hash/internal/hash.h --- old/abseil-cpp-20260107.0/absl/hash/internal/hash.h 2026-01-07 20:26:27.000000000 +0100 +++ new/abseil-cpp-20260107.1/absl/hash/internal/hash.h 2026-02-11 16:34:48.000000000 +0100 @@ -104,7 +104,10 @@ #define ABSL_HASH_INTERNAL_CRC32_U32 _mm_crc32_u32 #define ABSL_HASH_INTERNAL_CRC32_U8 _mm_crc32_u8 -#elif defined(_MSC_VER) && !defined(__clang__) && defined(__AVX__) +// 32-bit builds with AVX do not have _mm_crc32_u64, so the _M_X64 condition is +// necessary. +#elif defined(_MSC_VER) && !defined(__clang__) && defined(__AVX__) && \ + defined(_M_X64) // MSVC AVX (/arch:AVX) implies SSE 4.2. #include <intrin.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/abseil-cpp-20260107.0/absl/strings/escaping.cc new/abseil-cpp-20260107.1/absl/strings/escaping.cc --- old/abseil-cpp-20260107.0/absl/strings/escaping.cc 2026-01-07 20:26:27.000000000 +0100 +++ new/abseil-cpp-20260107.1/absl/strings/escaping.cc 2026-02-11 16:34:48.000000000 +0100 @@ -827,7 +827,7 @@ } /* clang-format off */ -constexpr std::array<char, 256> kHexValueLenient = { +constexpr std::array<uint8_t, 256> kHexValueLenient = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -846,7 +846,7 @@ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; -constexpr std::array<signed char, 256> kHexValueStrict = { +constexpr std::array<int8_t, 256> kHexValueStrict = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -874,7 +874,7 @@ size_t num) { for (size_t i = 0; i < num; i++) { to[i] = static_cast<char>(kHexValueLenient[from[i * 2] & 0xFF] << 4) + - (kHexValueLenient[from[i * 2 + 1] & 0xFF]); + static_cast<char>(kHexValueLenient[from[i * 2 + 1] & 0xFF]); } } @@ -992,8 +992,10 @@ output, num_bytes, [hex](char* buf, size_t buf_size) { auto hex_p = hex.cbegin(); for (size_t i = 0; i < buf_size; ++i) { - int h1 = absl::kHexValueStrict[static_cast<size_t>(*hex_p++)]; - int h2 = absl::kHexValueStrict[static_cast<size_t>(*hex_p++)]; + int h1 = absl::kHexValueStrict[static_cast<size_t>( + static_cast<uint8_t>(*hex_p++))]; + int h2 = absl::kHexValueStrict[static_cast<size_t>( + static_cast<uint8_t>(*hex_p++))]; if (h1 == -1 || h2 == -1) { return size_t{0}; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/abseil-cpp-20260107.0/absl/strings/escaping_test.cc new/abseil-cpp-20260107.1/absl/strings/escaping_test.cc --- old/abseil-cpp-20260107.0/absl/strings/escaping_test.cc 2026-01-07 20:26:27.000000000 +0100 +++ new/abseil-cpp-20260107.1/absl/strings/escaping_test.cc 2026-02-11 16:34:48.000000000 +0100 @@ -733,6 +733,10 @@ bytes = "abc"; EXPECT_TRUE(absl::HexStringToBytes("", &bytes)); EXPECT_EQ("", bytes); // Results in empty output. + + // Ensure there is no sign extension bug on a signed char. + hex.assign("\xC8" "b", 2); + EXPECT_FALSE(absl::HexStringToBytes(hex, &bytes)); } TEST(HexAndBack, HexStringToBytes_and_BytesToHexString) {
