Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package blosc for openSUSE:Factory checked in at 2023-09-06 18:56:53 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/blosc (Old) and /work/SRC/openSUSE:Factory/.blosc.new.1766 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "blosc" Wed Sep 6 18:56:53 2023 rev:24 rq:1109002 version:1.21.5 Changes: -------- --- /work/SRC/openSUSE:Factory/blosc/blosc.changes 2023-08-07 15:29:28.360454604 +0200 +++ /work/SRC/openSUSE:Factory/.blosc.new.1766/blosc.changes 2023-09-06 18:58:38.972534599 +0200 @@ -1,0 +2,6 @@ +Mon Sep 4 19:04:39 UTC 2023 - Dirk Müller <dmuel...@suse.com> + +- update to 1.21.5: + * Fix SSE2/AVX2 build issue. Fixes #352. + +------------------------------------------------------------------- Old: ---- c-blosc-1.21.4.tar.gz New: ---- c-blosc-1.21.5.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ blosc.spec ++++++ --- /var/tmp/diff_new_pack.njUAmE/_old 2023-09-06 18:58:40.252580230 +0200 +++ /var/tmp/diff_new_pack.njUAmE/_new 2023-09-06 18:58:40.256580372 +0200 @@ -19,7 +19,7 @@ %define major 1 %define libname lib%{name}%{major} Name: blosc -Version: 1.21.4 +Version: 1.21.5 Release: 0 Summary: A blocking, shuffling and lossless compression library License: BSD-2-Clause AND BSD-3-Clause AND MIT ++++++ c-blosc-1.21.4.tar.gz -> c-blosc-1.21.5.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/c-blosc-1.21.4/ANNOUNCE.rst new/c-blosc-1.21.5/ANNOUNCE.rst --- old/c-blosc-1.21.4/ANNOUNCE.rst 2023-05-16 10:34:45.000000000 +0200 +++ new/c-blosc-1.21.5/ANNOUNCE.rst 2023-09-02 09:17:46.000000000 +0200 @@ -1,13 +1,13 @@ =============================================================== - Announcing C-Blosc 1.21.4 + Announcing C-Blosc 1.21.5 A blocking, shuffling and lossless compression library for C =============================================================== What is new? ============ -This is a maintenance release. Upgraded internal zstd from 1.5.2 to 1.5.5 -and Zlib to 1.2.13. +This is a maintenance release. Here, we have provided a fix for a SSE2/AVX2 +build issue. Thanks to Thomas VINCENT and Mark Kittisopikul. For more info, please see the release notes in: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/c-blosc-1.21.4/RELEASE_NOTES.rst new/c-blosc-1.21.5/RELEASE_NOTES.rst --- old/c-blosc-1.21.4/RELEASE_NOTES.rst 2023-05-16 10:34:45.000000000 +0200 +++ new/c-blosc-1.21.5/RELEASE_NOTES.rst 2023-09-02 09:17:46.000000000 +0200 @@ -3,6 +3,13 @@ =========================== +Changes from 1.21.4 to 1.21.5 +============================= + +* Fix SSE2/AVX2 build issue. Fixes #352. Thanks to Thomas VINCENT + and Mark Kittisopikul. + + Changes from 1.21.3 to 1.21.4 ============================= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/c-blosc-1.21.4/blosc/CMakeLists.txt new/c-blosc-1.21.5/blosc/CMakeLists.txt --- old/c-blosc-1.21.4/blosc/CMakeLists.txt 2023-05-16 10:34:45.000000000 +0200 +++ new/c-blosc-1.21.5/blosc/CMakeLists.txt 2023-09-02 09:17:46.000000000 +0200 @@ -162,15 +162,9 @@ # MSVC targets SSE2 by default on 64-bit configurations, but not 32-bit configurations. if (${CMAKE_SIZEOF_VOID_P} EQUAL 4) set_source_files_properties(shuffle-sse2.c bitshuffle-sse2.c PROPERTIES COMPILE_FLAGS "/arch:SSE2") - set_property( - SOURCE shuffle.c - APPEND PROPERTY COMPILE_OPTIONS "/arch:SSE2") endif (${CMAKE_SIZEOF_VOID_P} EQUAL 4) else (MSVC) set_source_files_properties(shuffle-sse2.c bitshuffle-sse2.c PROPERTIES COMPILE_FLAGS -msse2) - set_property( - SOURCE shuffle.c - APPEND PROPERTY COMPILE_OPTIONS -msse2) endif (MSVC) # Define a symbol for the shuffle-dispatch implementation @@ -184,15 +178,9 @@ if (MSVC) set_source_files_properties(shuffle-avx2.c bitshuffle-avx2.c PROPERTIES COMPILE_FLAGS "/arch:AVX2") - set_property( - SOURCE shuffle.c - APPEND PROPERTY COMPILE_OPTIONS "/arch:AVX2") else (MSVC) set_source_files_properties(shuffle-avx2.c bitshuffle-avx2.c PROPERTIES COMPILE_FLAGS -mavx2) - set_property( - SOURCE shuffle.c - APPEND PROPERTY COMPILE_OPTIONS -mavx2) endif (MSVC) # Define a symbol for the shuffle-dispatch implementation diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/c-blosc-1.21.4/blosc/bitshuffle-avx2.c new/c-blosc-1.21.5/blosc/bitshuffle-avx2.c --- old/c-blosc-1.21.4/blosc/bitshuffle-avx2.c 2023-05-16 10:34:45.000000000 +0200 +++ new/c-blosc-1.21.5/blosc/bitshuffle-avx2.c 2023-09-02 09:17:46.000000000 +0200 @@ -17,8 +17,21 @@ #include "bitshuffle-avx2.h" -/* Make sure AVX2 is available for the compilation target and compiler. */ -#if defined(__AVX2__) +/* Define dummy functions if AVX2 is not available for the compilation target and compiler. */ +#if !defined(__AVX2__) +#include <stdlib.h> + +int64_t blosc_internal_bshuf_trans_bit_elem_avx2(void* in, void* out, const size_t size, + const size_t elem_size, void* tmp_buf) { + abort(); +} + +int64_t blosc_internal_bshuf_untrans_bit_elem_avx2(void* in, void* out, const size_t size, + const size_t elem_size, void* tmp_buf) { + abort(); +} + +#else /* defined(__AVX2__) */ #include <immintrin.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/c-blosc-1.21.4/blosc/bitshuffle-sse2.c new/c-blosc-1.21.5/blosc/bitshuffle-sse2.c --- old/c-blosc-1.21.4/blosc/bitshuffle-sse2.c 2023-05-16 10:34:45.000000000 +0200 +++ new/c-blosc-1.21.5/blosc/bitshuffle-sse2.c 2023-09-02 09:17:46.000000000 +0200 @@ -15,8 +15,21 @@ #include "bitshuffle-generic.h" #include "bitshuffle-sse2.h" -/* Make sure SSE2 is available for the compilation target and compiler. */ -#if defined(__SSE2__) +/* Define dummy functions if SSE2 is not available for the compilation target and compiler. */ +#if !defined(__SSE2__) +#include <stdlib.h> + +int64_t blosc_internal_bshuf_trans_byte_elem_sse2(void* in, void* out, const size_t size, + const size_t elem_size, void* tmp_buf) { + abort(); +} + +int64_t blosc_internal_bshuf_untrans_bit_elem_sse2(void* in, void* out, const size_t size, + const size_t elem_size, void* tmp_buf) { + abort(); +} + +#else /* defined(__SSE2__) */ #include <emmintrin.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/c-blosc-1.21.4/blosc/blosc.h new/c-blosc-1.21.5/blosc/blosc.h --- old/c-blosc-1.21.4/blosc/blosc.h 2023-05-16 10:34:45.000000000 +0200 +++ new/c-blosc-1.21.5/blosc/blosc.h 2023-09-02 09:17:46.000000000 +0200 @@ -19,9 +19,9 @@ /* Version numbers */ #define BLOSC_VERSION_MAJOR 1 /* for major interface/format changes */ #define BLOSC_VERSION_MINOR 21 /* for minor interface/format changes */ -#define BLOSC_VERSION_RELEASE 4 /* for tweaks, bug-fixes, or development */ +#define BLOSC_VERSION_RELEASE 5 /* for tweaks, bug-fixes, or development */ -#define BLOSC_VERSION_STRING "1.21.4" /* string version. Sync with above! */ +#define BLOSC_VERSION_STRING "1.21.5" /* string version. Sync with above! */ #define BLOSC_VERSION_REVISION "$Rev$" /* revision version */ #define BLOSC_VERSION_DATE "$Date:: 2023-05-16 #$" /* date version */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/c-blosc-1.21.4/blosc/shuffle-avx2.c new/c-blosc-1.21.5/blosc/shuffle-avx2.c --- old/c-blosc-1.21.4/blosc/shuffle-avx2.c 2023-05-16 10:34:45.000000000 +0200 +++ new/c-blosc-1.21.5/blosc/shuffle-avx2.c 2023-09-02 09:17:46.000000000 +0200 @@ -9,8 +9,23 @@ #include "shuffle-generic.h" #include "shuffle-avx2.h" -/* Make sure AVX2 is available for the compilation target and compiler. */ -#if defined(__AVX2__) +/* Define dummy functions if AVX2 is not available for the compilation target and compiler. */ +#if !defined(__AVX2__) +#include <stdlib.h> + +void +blosc_internal_shuffle_avx2(const size_t bytesoftype, const size_t blocksize, + const uint8_t* const _src, uint8_t* const _dest) { + abort(); +} + +void +blosc_internal_unshuffle_avx2(const size_t bytesoftype, const size_t blocksize, + const uint8_t* const _src, uint8_t* const _dest) { + abort(); +} + +#else /* defined(__AVX2__) */ #include <immintrin.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/c-blosc-1.21.4/blosc/shuffle-sse2.c new/c-blosc-1.21.5/blosc/shuffle-sse2.c --- old/c-blosc-1.21.4/blosc/shuffle-sse2.c 2023-05-16 10:34:45.000000000 +0200 +++ new/c-blosc-1.21.5/blosc/shuffle-sse2.c 2023-09-02 09:17:46.000000000 +0200 @@ -9,8 +9,22 @@ #include "shuffle-generic.h" #include "shuffle-sse2.h" -/* Make sure SSE2 is available for the compilation target and compiler. */ -#if defined(__SSE2__) +/* Define dummy functions if SSE2 is not available for the compilation target and compiler. */ +#if !defined(__SSE2__) + +void +blosc_internal_shuffle_sse2(const size_t bytesoftype, const size_t blocksize, + const uint8_t* const _src, uint8_t* const _dest) { + abort(); +} + +void +blosc_internal_unshuffle_sse2(const size_t bytesoftype, const size_t blocksize, + const uint8_t* const _src, uint8_t* const _dest) { + abort(); +} + +# else /* defined(__SSE2__) */ #include <emmintrin.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/c-blosc-1.21.4/blosc/shuffle.c new/c-blosc-1.21.5/blosc/shuffle.c --- old/c-blosc-1.21.4/blosc/shuffle.c 2023-05-16 10:34:45.000000000 +0200 +++ new/c-blosc-1.21.5/blosc/shuffle.c 2023-09-02 09:17:46.000000000 +0200 @@ -35,26 +35,19 @@ #define HAVE_CPU_FEAT_INTRIN #endif -#if defined(SHUFFLE_AVX2_ENABLED) && defined(__AVX2__) -#define SHUFFLE_USE_AVX2 -#endif - -#if defined(SHUFFLE_SSE2_ENABLED) && defined(__SSE2__) -#define SHUFFLE_USE_SSE2 -#endif /* Include hardware-accelerated shuffle/unshuffle routines based on the target architecture. Note that a target architecture may support more than one type of acceleration!*/ -#if defined(SHUFFLE_USE_AVX2) +#if defined(SHUFFLE_AVX2_ENABLED) #include "shuffle-avx2.h" #include "bitshuffle-avx2.h" -#endif /* defined(SHUFFLE_USE_AVX2) */ +#endif /* defined(SHUFFLE_AVX2_ENABLED) */ -#if defined(SHUFFLE_USE_SSE2) +#if defined(SHUFFLE_SSE2_ENABLED) #include "shuffle-sse2.h" #include "bitshuffle-sse2.h" -#endif /* defined(SHUFFLE_USE_SSE2) */ +#endif /* defined(SHUFFLE_SSE2_ENABLED) */ /* Define function pointer types for shuffle/unshuffle routines. */ @@ -84,8 +77,10 @@ } blosc_cpu_features; /* Detect hardware and set function pointers to the best shuffle/unshuffle - implementations supported by the host processor. */ -#if defined(SHUFFLE_USE_AVX2) || defined(SHUFFLE_USE_SSE2) /* Intel/i686 */ + implementations supported by the host processor for Intel/i686 + */ +#if (defined(__x86_64__) || defined(_M_X64) || defined(__i386__) || defined(_M_IX86)) \ + && (defined(SHUFFLE_AVX2_ENABLED) || defined(SHUFFLE_SSE2_ENABLED)) /* Disabled the __builtin_cpu_supports() call, as it has issues with new versions of gcc (like 5.3.1 in forthcoming ubuntu/xenial: @@ -317,7 +312,7 @@ blosc_cpu_features cpu_features = blosc_get_cpu_features(); shuffle_implementation_t impl_generic; -#if defined(SHUFFLE_USE_AVX2) +#if defined(SHUFFLE_AVX2_ENABLED) if (cpu_features & BLOSC_HAVE_AVX2) { shuffle_implementation_t impl_avx2; impl_avx2.name = "avx2"; @@ -327,9 +322,9 @@ impl_avx2.bitunshuffle = (bitunshuffle_func)blosc_internal_bshuf_untrans_bit_elem_avx2; return impl_avx2; } -#endif /* defined(SHUFFLE_USE_AVX2) */ +#endif /* defined(SHUFFLE_AVX2_ENABLED) */ -#if defined(SHUFFLE_USE_SSE2) +#if defined(SHUFFLE_SSE2_ENABLED) if (cpu_features & BLOSC_HAVE_SSE2) { shuffle_implementation_t impl_sse2; impl_sse2.name = "sse2"; @@ -339,7 +334,7 @@ impl_sse2.bitunshuffle = (bitunshuffle_func)blosc_internal_bshuf_untrans_bit_elem_sse2; return impl_sse2; } -#endif /* defined(SHUFFLE_USE_SSE2) */ +#endif /* defined(SHUFFLE_SSE2_ENABLED) */ /* Processor doesn't support any of the hardware-accelerated implementations, so use the generic implementation. */