* [Buildroot] [PATCH] package/zstd: bump to version 1.5.4
@ 2023-02-15 15:13 Norbert Lange
2023-02-15 21:41 ` Thomas Petazzoni via buildroot
0 siblings, 1 reply; 2+ messages in thread
From: Norbert Lange @ 2023-02-15 15:13 UTC (permalink / raw)
To: buildroot; +Cc: Andrey Smirnov, Norbert Lange
The LICENSE text has changed, nominally the copyright owner changed
from "Facebook" to "Meta Platforms, Inc. and affiliates",
reflecting the name change of that company.
Add upstream patch to fix zstd-dll build.
Signed-off-by: Norbert Lange <nolange79@gmail.com>
---
...-zstd-dll-build-missing-dependencies.patch | 179 ++++++++++++++++++
package/zstd/zstd.hash | 6 +-
package/zstd/zstd.mk | 2 +-
3 files changed, 183 insertions(+), 4 deletions(-)
create mode 100644 package/zstd/0001-Fix-zstd-dll-build-missing-dependencies.patch
diff --git a/package/zstd/0001-Fix-zstd-dll-build-missing-dependencies.patch b/package/zstd/0001-Fix-zstd-dll-build-missing-dependencies.patch
new file mode 100644
index 0000000000..bbb008c3b3
--- /dev/null
+++ b/package/zstd/0001-Fix-zstd-dll-build-missing-dependencies.patch
@@ -0,0 +1,179 @@
+Fix zstd-dll build
+
+https://github.com/facebook/zstd/commit/c78f434aa4f5f1097c8edb975f4c1635817a5a71
+
+Signed-off-by: Norbert Lange <nolange79@gmail.com>
+
+diff --git a/.github/workflows/dev-short-tests.yml b/.github/workflows/dev-short-tests.yml
+index 132dbb9961..9c70dda130 100644
+--- a/.github/workflows/dev-short-tests.yml
++++ b/.github/workflows/dev-short-tests.yml
+@@ -55,6 +55,14 @@ jobs:
+ run: |
+ make c89build V=1
+
++ zstd-dll-test:
++ runs-on: ubuntu-latest
++ steps:
++ - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
++ - name: build zstd bin against a dynamic lib (debuglevel for more dependencies)
++ run: |
++ make -C lib lib-mt-release
++ DEBUGLEVEL=2 make -C programs zstd-dll
+
+ gcc-7-libzstd:
+ runs-on: ubuntu-latest
+@@ -328,7 +336,6 @@ jobs:
+ make -j -C programs allVariants MOREFLAGS=-O0
+ ./tests/test-variants.sh
+
+-
+ qemu-consistency:
+ name: QEMU ${{ matrix.name }}
+ runs-on: ubuntu-20.04
+diff --git a/lib/common/zstd_common.c b/lib/common/zstd_common.c
+index 3208552475..3f04c22abf 100644
+--- a/lib/common/zstd_common.c
++++ b/lib/common/zstd_common.c
+@@ -14,7 +14,6 @@
+ * Dependencies
+ ***************************************/
+ #define ZSTD_DEPS_NEED_MALLOC
+-#include "zstd_deps.h" /* ZSTD_malloc, ZSTD_calloc, ZSTD_free, ZSTD_memset */
+ #include "error_private.h"
+ #include "zstd_internal.h"
+
+@@ -47,37 +46,3 @@ ZSTD_ErrorCode ZSTD_getErrorCode(size_t code) { return ERR_getErrorCode(code); }
+ /*! ZSTD_getErrorString() :
+ * provides error code string from enum */
+ const char* ZSTD_getErrorString(ZSTD_ErrorCode code) { return ERR_getErrorString(code); }
+-
+-
+-
+-/*=**************************************************************
+-* Custom allocator
+-****************************************************************/
+-void* ZSTD_customMalloc(size_t size, ZSTD_customMem customMem)
+-{
+- if (customMem.customAlloc)
+- return customMem.customAlloc(customMem.opaque, size);
+- return ZSTD_malloc(size);
+-}
+-
+-void* ZSTD_customCalloc(size_t size, ZSTD_customMem customMem)
+-{
+- if (customMem.customAlloc) {
+- /* calloc implemented as malloc+memset;
+- * not as efficient as calloc, but next best guess for custom malloc */
+- void* const ptr = customMem.customAlloc(customMem.opaque, size);
+- ZSTD_memset(ptr, 0, size);
+- return ptr;
+- }
+- return ZSTD_calloc(1, size);
+-}
+-
+-void ZSTD_customFree(void* ptr, ZSTD_customMem customMem)
+-{
+- if (ptr!=NULL) {
+- if (customMem.customFree)
+- customMem.customFree(customMem.opaque, ptr);
+- else
+- ZSTD_free(ptr);
+- }
+-}
+diff --git a/lib/common/zstd_internal.h b/lib/common/zstd_internal.h
+index 37836dc703..2557ac703b 100644
+--- a/lib/common/zstd_internal.h
++++ b/lib/common/zstd_internal.h
+@@ -24,6 +24,8 @@
+ #include "mem.h"
+ #include "debug.h" /* assert, DEBUGLOG, RAWLOG, g_debuglevel */
+ #include "error_private.h"
++#define ZSTD_DEPS_NEED_MALLOC
++#include "zstd_deps.h" /* ZSTD_malloc, ZSTD_calloc, ZSTD_free, ZSTD_memset */
+ #define ZSTD_STATIC_LINKING_ONLY
+ #include "../zstd.h"
+ #define FSE_STATIC_LINKING_ONLY
+@@ -351,9 +353,34 @@ const seqStore_t* ZSTD_getSeqStore(const ZSTD_CCtx* ctx); /* compress & dictBu
+ int ZSTD_seqToCodes(const seqStore_t* seqStorePtr); /* compress, dictBuilder, decodeCorpus (shouldn't get its definition from here) */
+
+ /* custom memory allocation functions */
+-void* ZSTD_customMalloc(size_t size, ZSTD_customMem customMem);
+-void* ZSTD_customCalloc(size_t size, ZSTD_customMem customMem);
+-void ZSTD_customFree(void* ptr, ZSTD_customMem customMem);
++MEM_STATIC void* ZSTD_customMalloc(size_t size, ZSTD_customMem customMem)
++{
++ if (customMem.customAlloc)
++ return customMem.customAlloc(customMem.opaque, size);
++ return ZSTD_malloc(size);
++}
++
++MEM_STATIC void* ZSTD_customCalloc(size_t size, ZSTD_customMem customMem)
++{
++ if (customMem.customAlloc) {
++ /* calloc implemented as malloc+memset;
++ * not as efficient as calloc, but next best guess for custom malloc */
++ void* const ptr = customMem.customAlloc(customMem.opaque, size);
++ ZSTD_memset(ptr, 0, size);
++ return ptr;
++ }
++ return ZSTD_calloc(1, size);
++}
++
++MEM_STATIC void ZSTD_customFree(void* ptr, ZSTD_customMem customMem)
++{
++ if (ptr!=NULL) {
++ if (customMem.customFree)
++ customMem.customFree(customMem.opaque, ptr);
++ else
++ ZSTD_free(ptr);
++ }
++}
+
+
+ /* ZSTD_invalidateRepCodes() :
+diff --git a/programs/Makefile b/programs/Makefile
+index fcff41dc1b..8507abef3f 100644
+--- a/programs/Makefile
++++ b/programs/Makefile
+@@ -225,7 +225,7 @@ zstd-noxz : zstd
+ .PHONY: zstd-dll
+ zstd-dll : LDFLAGS+= -L$(LIBZSTD)
+ zstd-dll : LDLIBS += -lzstd
+-zstd-dll : ZSTDLIB_LOCAL_SRC = xxhash.c
++zstd-dll : ZSTDLIB_LOCAL_SRC = xxhash.c pool.c threading.c
+ zstd-dll : zstd
+
+
+diff --git a/tests/Makefile b/tests/Makefile
+index 3eed19ea80..778c7d6759 100644
+--- a/tests/Makefile
++++ b/tests/Makefile
+@@ -95,7 +95,7 @@ allnothread: fullbench fuzzer paramgrill datagen decodecorpus
+ dll: fuzzer-dll zstreamtest-dll
+
+ .PHONY: zstd zstd32 zstd-nolegacy # only external makefile knows how to build or update them
+-zstd zstd32 zstd-nolegacy:
++zstd zstd32 zstd-nolegacy zstd-dll:
+ $(MAKE) -C $(PRGDIR) $@ MOREFLAGS+="$(DEBUGFLAGS)"
+
+ .PHONY: libzstd
+@@ -328,13 +328,17 @@ test-all: test test32 test-decodecorpus-cli
+ test-zstd: ZSTD = $(PRGDIR)/zstd
+ test-zstd: zstd
+
++.PHONY: test-zstd-dll
++test-zstd-dll: ZSTD = $(PRGDIR)/zstd
++test-zstd-dll: zstd-dll
++
+ test-zstd32: ZSTD = $(PRGDIR)/zstd32
+ test-zstd32: zstd32
+
+ test-zstd-nolegacy: ZSTD = $(PRGDIR)/zstd-nolegacy
+ test-zstd-nolegacy: zstd-nolegacy
+
+-test-zstd test-zstd32 test-zstd-nolegacy: datagen
++test-zstd test-zstd32 test-zstd-nolegacy test-zstd-dll: datagen
+ file $(ZSTD)
+ EXE_PREFIX="$(QEMU_SYS)" ZSTD_BIN="$(ZSTD)" DATAGEN_BIN=./datagen ./playTests.sh $(ZSTDRTTEST)
+
diff --git a/package/zstd/zstd.hash b/package/zstd/zstd.hash
index eca44b89f0..ca4e2fa0b9 100644
--- a/package/zstd/zstd.hash
+++ b/package/zstd/zstd.hash
@@ -1,6 +1,6 @@
-# From https://github.com/facebook/zstd/releases/download/v1.5.2/zstd-1.5.2.tar.gz.sha256
-sha256 7c42d56fac126929a6a85dbc73ff1db2411d04f104fae9bdea51305663a83fd0 zstd-1.5.2.tar.gz
+# From https://github.com/facebook/zstd/releases/download/v1.5.4/zstd-1.5.4.tar.gz.sha256
+sha256 0f470992aedad543126d06efab344dc5f3e171893810455787d38347343a4424 zstd-1.5.4.tar.gz
# License files (locally computed)
-sha256 2c1a7fa704df8f3a606f6fc010b8b5aaebf403f3aeec339a12048f1ba7331a0b LICENSE
+sha256 7055266497633c9025b777c78eb7235af13922117480ed5c674677adc381c9d8 LICENSE
sha256 f9c375a1be4a41f7b70301dd83c91cb89e41567478859b77eef375a52d782505 COPYING
diff --git a/package/zstd/zstd.mk b/package/zstd/zstd.mk
index 73bb97a793..45e8bf1bc2 100644
--- a/package/zstd/zstd.mk
+++ b/package/zstd/zstd.mk
@@ -4,7 +4,7 @@
#
################################################################################
-ZSTD_VERSION = 1.5.2
+ZSTD_VERSION = 1.5.4
ZSTD_SITE = https://github.com/facebook/zstd/releases/download/v$(ZSTD_VERSION)
ZSTD_INSTALL_STAGING = YES
ZSTD_LICENSE = BSD-3-Clause or GPL-2.0
--
2.39.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [Buildroot] [PATCH] package/zstd: bump to version 1.5.4
2023-02-15 15:13 [Buildroot] [PATCH] package/zstd: bump to version 1.5.4 Norbert Lange
@ 2023-02-15 21:41 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 2+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-02-15 21:41 UTC (permalink / raw)
To: Norbert Lange; +Cc: Andrey Smirnov, buildroot
Hello Norbert,
On Wed, 15 Feb 2023 16:13:01 +0100
Norbert Lange <nolange79@gmail.com> wrote:
> The LICENSE text has changed, nominally the copyright owner changed
> from "Facebook" to "Meta Platforms, Inc. and affiliates",
> reflecting the name change of that company.
>
> Add upstream patch to fix zstd-dll build.
>
> Signed-off-by: Norbert Lange <nolange79@gmail.com>
> ---
> ...-zstd-dll-build-missing-dependencies.patch | 179 ++++++++++++++++++
> package/zstd/zstd.hash | 6 +-
> package/zstd/zstd.mk | 2 +-
> 3 files changed, 183 insertions(+), 4 deletions(-)
> create mode 100644 package/zstd/0001-Fix-zstd-dll-build-missing-dependencies.patch
Thanks for the patch.
>
> diff --git a/package/zstd/0001-Fix-zstd-dll-build-missing-dependencies.patch b/package/zstd/0001-Fix-zstd-dll-build-missing-dependencies.patch
> new file mode 100644
> index 0000000000..bbb008c3b3
> --- /dev/null
> +++ b/package/zstd/0001-Fix-zstd-dll-build-missing-dependencies.patch
> @@ -0,0 +1,179 @@
> +Fix zstd-dll build
> +
> +https://github.com/facebook/zstd/commit/c78f434aa4f5f1097c8edb975f4c1635817a5a71
> +
> +Signed-off-by: Norbert Lange <nolange79@gmail.com>
Could you use git format-patch to generate this patch, and preserve the
authorship of the patch from its original author?
Essentially this:
- git clone ...
- git checkout v1.5.4
- git cherry-pick c78f434aa4f5f1097c8edb975f4c1635817a5a71
- git commit --amend
(add your own SoB in the commit log + reference to the upstream commit)
- git format-patch HEAD^
Thanks a lot!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-02-15 21:41 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-15 15:13 [Buildroot] [PATCH] package/zstd: bump to version 1.5.4 Norbert Lange
2023-02-15 21:41 ` Thomas Petazzoni via buildroot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox