kexec/zstd: fix static zstd build
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@nslick.com>
Signed-off-by: Simon Horman <horms@kernel.org>
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;