Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package 7zip for openSUSE:Factory checked in at 2024-06-07 15:01:54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/7zip (Old) and /work/SRC/openSUSE:Factory/.7zip.new.24587 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "7zip" Fri Jun 7 15:01:54 2024 rev:14 rq:1179150 version:24.06 Changes: -------- --- /work/SRC/openSUSE:Factory/7zip/7zip.changes 2024-06-04 12:51:07.175801482 +0200 +++ /work/SRC/openSUSE:Factory/.7zip.new.24587/7zip.changes 2024-06-07 15:02:02.552878294 +0200 @@ -1,0 +2,6 @@ +Thu Jun 6 20:49:59 UTC 2024 - Antonio Teixeira <antonio.teixeira@suse.com> + +- Update to 24.06: + * The bug was fixed: 7-Zip could not unpack some ZSTD archives. + +------------------------------------------------------------------- Old: ---- 7z2405-src.tar.xz New: ---- 7z2406-src.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ 7zip.spec ++++++ --- /var/tmp/diff_new_pack.lrEcpr/_old 2024-06-07 15:02:03.124899132 +0200 +++ /var/tmp/diff_new_pack.lrEcpr/_new 2024-06-07 15:02:03.124899132 +0200 @@ -17,9 +17,9 @@ # -%define stripped_version 2405 +%define stripped_version 2406 Name: 7zip -Version: 24.05 +Version: 24.06 Release: 0 Summary: Command-line file archiver with high compression ratio # CPP/7zip/Compress/LzfseDecoder.cpp is under the BSD-3-Clause ++++++ 7z2405-src.tar.xz -> 7z2406-src.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/C/7zVersion.h new/C/7zVersion.h --- old/C/7zVersion.h 2024-05-14 12:00:00.000000000 +0200 +++ new/C/7zVersion.h 2024-05-26 11:00:00.000000000 +0200 @@ -1,7 +1,7 @@ #define MY_VER_MAJOR 24 -#define MY_VER_MINOR 05 +#define MY_VER_MINOR 06 #define MY_VER_BUILD 0 -#define MY_VERSION_NUMBERS "24.05" +#define MY_VERSION_NUMBERS "24.06" #define MY_VERSION MY_VERSION_NUMBERS #ifdef MY_CPU_NAME @@ -10,7 +10,7 @@ #define MY_VERSION_CPU MY_VERSION #endif -#define MY_DATE "2024-05-14" +#define MY_DATE "2024-05-26" #undef MY_COPYRIGHT #undef MY_VERSION_COPYRIGHT_DATE #define MY_AUTHOR_NAME "Igor Pavlov" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/C/Blake2s.c new/C/Blake2s.c --- old/C/Blake2s.c 2024-01-29 18:00:00.000000000 +0100 +++ new/C/Blake2s.c 2024-05-18 13:00:00.000000000 +0200 @@ -1,5 +1,5 @@ /* Blake2s.c -- BLAKE2sp Hash -2024-01-29 : Igor Pavlov : Public domain +2024-05-18 : Igor Pavlov : Public domain 2015-2019 : Samuel Neves : original code : CC0 1.0 Universal (CC0 1.0). */ #include "Precomp.h" @@ -12,6 +12,17 @@ #include "Compiler.h" #include "CpuArch.h" +/* + if defined(__AVX512F__) && defined(__AVX512VL__) + { + we define Z7_BLAKE2S_USE_AVX512_ALWAYS, + but the compiler can use avx512 for any code. + } + else if defined(Z7_BLAKE2S_USE_AVX512_ALWAYS) + { we use avx512 only for sse* and avx* branches of code. } +*/ +// #define Z7_BLAKE2S_USE_AVX512_ALWAYS // for debug + #if defined(__SSE2__) #define Z7_BLAKE2S_USE_VECTORS #elif defined(MY_CPU_X86_OR_AMD64) @@ -59,6 +70,9 @@ #endif // SSSE3 #if defined(__GNUC__) || defined(__clang__) +#if defined(Z7_BLAKE2S_USE_AVX512_ALWAYS) && !(defined(__AVX512F__) && defined(__AVX512VL__)) + #define BLAKE2S_ATTRIB_128BIT __attribute__((__target__("avx512vl,avx512f"))) +#else #if defined(Z7_BLAKE2S_USE_SSE41) #define BLAKE2S_ATTRIB_128BIT __attribute__((__target__("sse4.1"))) #elif defined(Z7_BLAKE2S_USE_SSSE3) @@ -67,6 +81,7 @@ #define BLAKE2S_ATTRIB_128BIT __attribute__((__target__("sse2"))) #endif #endif +#endif #if defined(__AVX2__) @@ -77,7 +92,11 @@ || defined(Z7_LLVM_CLANG_VERSION) && (Z7_LLVM_CLANG_VERSION >= 30100) #define Z7_BLAKE2S_USE_AVX2 #ifdef Z7_BLAKE2S_USE_AVX2 +#if defined(Z7_BLAKE2S_USE_AVX512_ALWAYS) && !(defined(__AVX512F__) && defined(__AVX512VL__)) + #define BLAKE2S_ATTRIB_AVX2 __attribute__((__target__("avx512vl,avx512f"))) +#else #define BLAKE2S_ATTRIB_AVX2 __attribute__((__target__("avx2"))) +#endif #endif #elif defined(Z7_MSC_VER_ORIGINAL) && (Z7_MSC_VER_ORIGINAL >= 1800) \ || defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1400) @@ -107,7 +126,9 @@ #if defined(__AVX512F__) && defined(__AVX512VL__) // && defined(Z7_MSC_VER_ORIGINAL) && (Z7_MSC_VER_ORIGINAL > 1930) + #ifndef Z7_BLAKE2S_USE_AVX512_ALWAYS #define Z7_BLAKE2S_USE_AVX512_ALWAYS + #endif // #pragma message ("=== Blake2s AVX512") #endif @@ -1164,7 +1185,9 @@ #if 1 && defined(Z7_BLAKE2S_USE_AVX512_ALWAYS) #define MM256_ROR_EPI32 _mm256_ror_epi32 #define Z7_MM256_ROR_EPI32_IS_SUPPORTED +#ifdef Z7_BLAKE2S_USE_AVX2_WAY2 #define LOAD_ROTATE_CONSTS_256 +#endif #else #ifdef Z7_BLAKE2S_USE_AVX2_WAY_SLOW #ifdef Z7_BLAKE2S_USE_AVX2_WAY2 @@ -2549,9 +2572,11 @@ #if defined(MY_CPU_X86_OR_AMD64) #if defined(Z7_BLAKE2S_USE_AVX512_ALWAYS) + // optional check + #if 0 || !(defined(__AVX512F__) && defined(__AVX512VL__)) if (CPU_IsSupported_AVX512F_AVX512VL()) - #endif - #if defined(Z7_BLAKE2S_USE_SSE41) + #endif + #elif defined(Z7_BLAKE2S_USE_SSE41) if (CPU_IsSupported_SSE41()) #elif defined(Z7_BLAKE2S_USE_SSSE3) if (CPU_IsSupported_SSSE3()) @@ -2584,12 +2609,14 @@ #ifdef Z7_BLAKE2S_USE_AVX2 #if defined(MY_CPU_X86_OR_AMD64) - if ( - #if 0 && defined(Z7_BLAKE2S_USE_AVX512_ALWAYS) - CPU_IsSupported_AVX512F_AVX512VL() && + + #if defined(Z7_BLAKE2S_USE_AVX512_ALWAYS) + #if 0 + if (CPU_IsSupported_AVX512F_AVX512VL()) + #endif + #else + if (CPU_IsSupported_AVX2()) #endif - CPU_IsSupported_AVX2() - ) #endif { // #pragma message ("=== Blake2s AVX2") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/C/CpuArch.c new/C/CpuArch.c --- old/C/CpuArch.c 2024-03-02 09:00:00.000000000 +0100 +++ new/C/CpuArch.c 2024-05-18 13:00:00.000000000 +0200 @@ -1,5 +1,5 @@ /* CpuArch.c -- CPU specific code -2024-03-02 : Igor Pavlov : Public domain */ +2024-05-18 : Igor Pavlov : Public domain */ #include "Precomp.h" @@ -638,7 +638,7 @@ { const UInt32 bm = (UInt32)x86_xgetbv_0(MY_XCR_XFEATURE_ENABLED_MASK); - // printf("\n=== XGetBV=%d\n", bm); + // printf("\n=== XGetBV=0x%x\n", bm); return 1 & (BoolInt)(bm >> 1) // SSE state is supported (set by OS) for storing/restoring & (BoolInt)(bm >> 2); // AVX state is supported (set by OS) for storing/restoring @@ -662,8 +662,7 @@ } } -/* -// fix it: +#if 0 BoolInt CPU_IsSupported_AVX512F_AVX512VL(void) { if (!CPU_IsSupported_AVX()) @@ -672,14 +671,25 @@ return False; { UInt32 d[4]; + BoolInt v; z7_x86_cpuid(d, 7); // printf("\ncpuid(7): ebx=%8x ecx=%8x\n", d[1], d[2]); + v = 1 + & (BoolInt)(d[1] >> 16) // avx512f + & (BoolInt)(d[1] >> 31); // avx512vl + if (!v) + return False; + } + { + const UInt32 bm = (UInt32)x86_xgetbv_0(MY_XCR_XFEATURE_ENABLED_MASK); + // printf("\n=== XGetBV=0x%x\n", bm); return 1 - & (BoolInt)(d[1] >> 16) // avx512-f - & (BoolInt)(d[1] >> 31); // avx512-Vl + & (BoolInt)(bm >> 5) // OPMASK + & (BoolInt)(bm >> 6) // ZMM upper 256-bit + & (BoolInt)(bm >> 7); // ZMM16 ... ZMM31 } } -*/ +#endif BoolInt CPU_IsSupported_VAES_AVX2(void) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/C/CpuArch.h new/C/CpuArch.h --- old/C/CpuArch.h 2024-05-13 09:00:00.000000000 +0200 +++ new/C/CpuArch.h 2024-05-18 13:00:00.000000000 +0200 @@ -1,5 +1,5 @@ /* CpuArch.h -- CPU specific code -2024-05-13 : Igor Pavlov : Public domain */ +2024-05-18 : Igor Pavlov : Public domain */ #ifndef ZIP7_INC_CPU_ARCH_H #define ZIP7_INC_CPU_ARCH_H @@ -370,12 +370,12 @@ #define Z7_CPU_FAST_BSWAP_SUPPORTED /* GCC can generate slow code that calls function for __builtin_bswap32() for: - - GCC for RISCV, if Zbb extension is not used. + - GCC for RISCV, if Zbb/XTHeadBb extension is not used. - GCC for SPARC. The code from CLANG for SPARC also is not fastest. So we don't define Z7_CPU_FAST_BSWAP_SUPPORTED in some cases. */ -#elif (!defined(MY_CPU_RISCV) || defined (__riscv_zbb)) \ +#elif (!defined(MY_CPU_RISCV) || defined (__riscv_zbb) || defined(__riscv_xtheadbb)) \ && !defined(MY_CPU_SPARC) \ && ( \ (defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))) \ @@ -607,7 +607,7 @@ BoolInt CPU_IsSupported_AES(void); BoolInt CPU_IsSupported_AVX(void); BoolInt CPU_IsSupported_AVX2(void); -// BoolInt CPU_IsSupported_AVX512F_AVX512VL(void); +BoolInt CPU_IsSupported_AVX512F_AVX512VL(void); BoolInt CPU_IsSupported_VAES_AVX2(void); BoolInt CPU_IsSupported_CMOV(void); BoolInt CPU_IsSupported_SSE(void); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/C/ZstdDec.c new/C/ZstdDec.c --- old/C/ZstdDec.c 2024-01-21 12:00:00.000000000 +0100 +++ new/C/ZstdDec.c 2024-05-26 17:00:00.000000000 +0200 @@ -1,5 +1,5 @@ /* ZstdDec.c -- Zstd Decoder -2024-01-21 : the code was developed by Igor Pavlov, using Zstandard format +2024-05-26 : the code was developed by Igor Pavlov, using Zstandard format specification and original zstd decoder code as reference code. original zstd decoder code: Copyright (c) Facebook, Inc. All rights reserved. This source code is licensed under BSD 3-Clause License. @@ -2507,6 +2507,7 @@ if (vars.numSeqs == 0) { p->winPos += numLits; + UPDATE_TOTAL_OUT(p, numLits) return SZ_OK; } } @@ -3310,11 +3311,11 @@ { const SizeT xxh64_winPos = p->decoder.winPos - ZstdDec_GET_UNPROCESSED_XXH64_SIZE(p); p->decoder.winPos += outCur; + UPDATE_TOTAL_OUT(&p->decoder, outCur) p->contentProcessed += outCur; ZstdDec_Update_XXH(p, xxh64_winPos); } // ds->winPos = p->decoder.winPos; // the caller does it instead. for debug: - UPDATE_TOTAL_OUT(&p->decoder, outCur) ds->outProcessed += outCur; if (p->blockSize -= (UInt32)outCur) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CPP/7zip/Compress/DllExports2Compress.cpp new/CPP/7zip/Compress/DllExports2Compress.cpp --- old/CPP/7zip/Compress/DllExports2Compress.cpp 2015-01-21 17:15:59.000000000 +0100 +++ new/CPP/7zip/Compress/DllExports2Compress.cpp 2024-05-22 12:00:00.000000000 +0200 @@ -15,6 +15,15 @@ #else HINSTANCE #endif + /* hInstance */, DWORD /* dwReason */, LPVOID /*lpReserved*/); + +extern "C" +BOOL WINAPI DllMain( + #ifdef UNDER_CE + HANDLE + #else + HINSTANCE + #endif /* hInstance */, DWORD /* dwReason */, LPVOID /*lpReserved*/) { return TRUE; @@ -22,6 +31,7 @@ STDAPI CreateCoder(const GUID *clsid, const GUID *iid, void **outObject); +STDAPI CreateObject(const GUID *clsid, const GUID *iid, void **outObject); STDAPI CreateObject(const GUID *clsid, const GUID *iid, void **outObject) { return CreateCoder(clsid, iid, outObject); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CPP/7zip/UI/Console/MainAr.cpp new/CPP/7zip/UI/Console/MainAr.cpp --- old/CPP/7zip/UI/Console/MainAr.cpp 2023-10-24 12:00:00.000000000 +0200 +++ new/CPP/7zip/UI/Console/MainAr.cpp 2024-05-26 11:00:00.000000000 +0200 @@ -63,7 +63,10 @@ { // some compilers (e2k) support SSE/AVX, but cpuid() can be unavailable or return lower isa support #ifdef MY_CPU_X86_OR_AMD64 - #if defined(__AVX2__) + #if 0 && (defined(__AVX512F__) && defined(__AVX512VL__)) + if (!CPU_IsSupported_AVX512F_AVX512VL()) + return false; + #elif defined(__AVX2__) if (!CPU_IsSupported_AVX2()) return false; #elif defined(__AVX__) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DOC/7zip.wxs new/DOC/7zip.wxs --- old/DOC/7zip.wxs 2024-05-13 13:44:16.000000000 +0200 +++ new/DOC/7zip.wxs 2024-05-26 18:00:00.000000000 +0200 @@ -1,7 +1,7 @@ <?xml version="1.0"?> <?define VerMajor = "24" ?> -<?define VerMinor = "05" ?> +<?define VerMinor = "06" ?> <?define VerBuild = "00" ?> <?define MmVer = "$(var.VerMajor).$(var.VerMinor)" ?> <?define MmHex = "$(var.VerMajor)$(var.VerMinor)" ?> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DOC/lzma.txt new/DOC/lzma.txt --- old/DOC/lzma.txt 2024-05-13 14:00:00.000000000 +0200 +++ new/DOC/lzma.txt 2024-05-26 20:00:00.000000000 +0200 @@ -1,6 +1,6 @@ LZMA compression ---------------- -Version: 24.05 +Version: 24.06 This file describes LZMA encoding and decoding functions written in C language. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DOC/readme.txt new/DOC/readme.txt --- old/DOC/readme.txt 2024-05-13 14:00:00.000000000 +0200 +++ new/DOC/readme.txt 2024-05-26 18:00:00.000000000 +0200 @@ -1,4 +1,4 @@ -7-Zip 24.05 Sources +7-Zip 24.06 Sources ------------------- 7-Zip is a file archiver for Windows. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DOC/src-history.txt new/DOC/src-history.txt --- old/DOC/src-history.txt 2024-05-14 13:00:00.000000000 +0200 +++ new/DOC/src-history.txt 2024-05-26 18:00:00.000000000 +0200 @@ -1,6 +1,11 @@ HISTORY of the 7-Zip source code -------------------------------- +24.06 2024-05-26 +------------------------- +- The bug was fixed: 7-Zip could not unpack some ZSTD archives. + + 24.05 2024-05-14 ------------------------- - New switch -myv={MMNN} to set decoder compatibility version for 7z archive creating.