[PATCH] kexec/zstd: fix static zstd build
Nicholas Sielicki
opensource at nslick.com
Sun Jun 22 06:12:53 PDT 2025
60ce9bdf introduced a local reimplementation of ZSTD_isFrame to this
tree, as the definition in libzstd is only available for static linking.
When a static build of libzstd is in-fact available to kexec-tools, this
was previously causing multiple-definition errors at link time.
prefer the ZSTD_isFrame from libzstd, if it's available, by adding
__attribute__((weak)) on the local definition.
Signed-off-by: Nicholas Sielicki <opensource at nslick.com>
---
kexec/zstd.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/kexec/zstd.c b/kexec/zstd.c
index 79d5bf3..eaa76b9 100644
--- a/kexec/zstd.c
+++ b/kexec/zstd.c
@@ -21,6 +21,7 @@
* Reimplementation of private function available if zstd is
* statically linked. Remove when it becomes public.
*/
+__attribute__((weak))
unsigned ZSTD_isFrame(const void* buffer, size_t size)
{
uint8_t *buf = (uint8_t *)buffer;
--
2.48.1
More information about the kexec
mailing list