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. */

Reply via email to