2022-09-19 12:23:25

by Nicholas Piggin

[permalink] [raw]
Subject: [PATCH] lib: zstd: build common files separately for compress and decompress

It is possible for compress to be built as a module and decompress to
be built in, and kernel and module C flags can be different. This can
cause module built code to be linked into the kernel or vice versa.

Use symbolic links from the common code to compression and decompression
module directories to avoid this problem.

Signed-off-by: Nicholas Piggin <[email protected]>
---
I'm not sure if this is the preferred way to fix it. I hadn't
thought about this problem before but now I notice it in zstd
it seems like it could be a pitfall in other parts of the kernel
as well. Is there a better way to solve it? Or some way to
automatically detect the conflict and fail the build rather than
silently succeed?

Thanks,
Nick

lib/zstd/Makefile | 20 ++++++++++----------
lib/zstd/compress/common/bitstream.h | 1 +
lib/zstd/compress/common/compiler.h | 1 +
lib/zstd/compress/common/cpu.h | 1 +
lib/zstd/compress/common/debug.c | 1 +
lib/zstd/compress/common/debug.h | 1 +
lib/zstd/compress/common/entropy_common.c | 1 +
lib/zstd/compress/common/error_private.c | 1 +
lib/zstd/compress/common/error_private.h | 1 +
lib/zstd/compress/common/fse.h | 1 +
lib/zstd/compress/common/fse_decompress.c | 1 +
lib/zstd/compress/common/huf.h | 1 +
lib/zstd/compress/common/mem.h | 1 +
lib/zstd/compress/common/zstd_common.c | 1 +
lib/zstd/compress/common/zstd_deps.h | 1 +
lib/zstd/compress/common/zstd_internal.h | 1 +
lib/zstd/decompress/common/bitstream.h | 1 +
lib/zstd/decompress/common/compiler.h | 1 +
lib/zstd/decompress/common/cpu.h | 1 +
lib/zstd/decompress/common/debug.c | 1 +
lib/zstd/decompress/common/debug.h | 1 +
lib/zstd/decompress/common/entropy_common.c | 1 +
lib/zstd/decompress/common/error_private.c | 1 +
lib/zstd/decompress/common/error_private.h | 1 +
lib/zstd/decompress/common/fse.h | 1 +
lib/zstd/decompress/common/fse_decompress.c | 1 +
lib/zstd/decompress/common/huf.h | 1 +
lib/zstd/decompress/common/mem.h | 1 +
lib/zstd/decompress/common/zstd_common.c | 1 +
lib/zstd/decompress/common/zstd_deps.h | 1 +
lib/zstd/decompress/common/zstd_internal.h | 1 +
31 files changed, 40 insertions(+), 10 deletions(-)
create mode 120000 lib/zstd/compress/common/bitstream.h
create mode 120000 lib/zstd/compress/common/compiler.h
create mode 120000 lib/zstd/compress/common/cpu.h
create mode 120000 lib/zstd/compress/common/debug.c
create mode 120000 lib/zstd/compress/common/debug.h
create mode 120000 lib/zstd/compress/common/entropy_common.c
create mode 120000 lib/zstd/compress/common/error_private.c
create mode 120000 lib/zstd/compress/common/error_private.h
create mode 120000 lib/zstd/compress/common/fse.h
create mode 120000 lib/zstd/compress/common/fse_decompress.c
create mode 120000 lib/zstd/compress/common/huf.h
create mode 120000 lib/zstd/compress/common/mem.h
create mode 120000 lib/zstd/compress/common/zstd_common.c
create mode 120000 lib/zstd/compress/common/zstd_deps.h
create mode 120000 lib/zstd/compress/common/zstd_internal.h
create mode 120000 lib/zstd/decompress/common/bitstream.h
create mode 120000 lib/zstd/decompress/common/compiler.h
create mode 120000 lib/zstd/decompress/common/cpu.h
create mode 120000 lib/zstd/decompress/common/debug.c
create mode 120000 lib/zstd/decompress/common/debug.h
create mode 120000 lib/zstd/decompress/common/entropy_common.c
create mode 120000 lib/zstd/decompress/common/error_private.c
create mode 120000 lib/zstd/decompress/common/error_private.h
create mode 120000 lib/zstd/decompress/common/fse.h
create mode 120000 lib/zstd/decompress/common/fse_decompress.c
create mode 120000 lib/zstd/decompress/common/huf.h
create mode 120000 lib/zstd/decompress/common/mem.h
create mode 120000 lib/zstd/decompress/common/zstd_common.c
create mode 120000 lib/zstd/decompress/common/zstd_deps.h
create mode 120000 lib/zstd/decompress/common/zstd_internal.h

diff --git a/lib/zstd/Makefile b/lib/zstd/Makefile
index fc45339fc3a3..6d785268f8c3 100644
--- a/lib/zstd/Makefile
+++ b/lib/zstd/Makefile
@@ -13,11 +13,11 @@ obj-$(CONFIG_ZSTD_DECOMPRESS) += zstd_decompress.o

zstd_compress-y := \
zstd_compress_module.o \
- common/debug.o \
- common/entropy_common.o \
- common/error_private.o \
- common/fse_decompress.o \
- common/zstd_common.o \
+ compress/common/debug.o \
+ compress/common/entropy_common.o \
+ compress/common/error_private.o \
+ compress/common/fse_decompress.o \
+ compress/common/zstd_common.o \
compress/fse_compress.o \
compress/hist.o \
compress/huf_compress.o \
@@ -33,11 +33,11 @@ zstd_compress-y := \

zstd_decompress-y := \
zstd_decompress_module.o \
- common/debug.o \
- common/entropy_common.o \
- common/error_private.o \
- common/fse_decompress.o \
- common/zstd_common.o \
+ decompress/common/debug.o \
+ decompress/common/entropy_common.o \
+ decompress/common/error_private.o \
+ decompress/common/fse_decompress.o \
+ decompress/common/zstd_common.o \
decompress/huf_decompress.o \
decompress/zstd_ddict.o \
decompress/zstd_decompress.o \
diff --git a/lib/zstd/compress/common/bitstream.h b/lib/zstd/compress/common/bitstream.h
new file mode 120000
index 000000000000..de97b72f47ce
--- /dev/null
+++ b/lib/zstd/compress/common/bitstream.h
@@ -0,0 +1 @@
+../../common/bitstream.h
\ No newline at end of file
diff --git a/lib/zstd/compress/common/compiler.h b/lib/zstd/compress/common/compiler.h
new file mode 120000
index 000000000000..a316286adf05
--- /dev/null
+++ b/lib/zstd/compress/common/compiler.h
@@ -0,0 +1 @@
+../../common/compiler.h
\ No newline at end of file
diff --git a/lib/zstd/compress/common/cpu.h b/lib/zstd/compress/common/cpu.h
new file mode 120000
index 000000000000..35282be494a2
--- /dev/null
+++ b/lib/zstd/compress/common/cpu.h
@@ -0,0 +1 @@
+../../common/cpu.h
\ No newline at end of file
diff --git a/lib/zstd/compress/common/debug.c b/lib/zstd/compress/common/debug.c
new file mode 120000
index 000000000000..5d7b272026d6
--- /dev/null
+++ b/lib/zstd/compress/common/debug.c
@@ -0,0 +1 @@
+../../common/debug.c
\ No newline at end of file
diff --git a/lib/zstd/compress/common/debug.h b/lib/zstd/compress/common/debug.h
new file mode 120000
index 000000000000..15c1e1cd5c95
--- /dev/null
+++ b/lib/zstd/compress/common/debug.h
@@ -0,0 +1 @@
+../../common/debug.h
\ No newline at end of file
diff --git a/lib/zstd/compress/common/entropy_common.c b/lib/zstd/compress/common/entropy_common.c
new file mode 120000
index 000000000000..221119c32817
--- /dev/null
+++ b/lib/zstd/compress/common/entropy_common.c
@@ -0,0 +1 @@
+../../common/entropy_common.c
\ No newline at end of file
diff --git a/lib/zstd/compress/common/error_private.c b/lib/zstd/compress/common/error_private.c
new file mode 120000
index 000000000000..f87d3cf6851f
--- /dev/null
+++ b/lib/zstd/compress/common/error_private.c
@@ -0,0 +1 @@
+../../common/error_private.c
\ No newline at end of file
diff --git a/lib/zstd/compress/common/error_private.h b/lib/zstd/compress/common/error_private.h
new file mode 120000
index 000000000000..30d469222942
--- /dev/null
+++ b/lib/zstd/compress/common/error_private.h
@@ -0,0 +1 @@
+../../common/error_private.h
\ No newline at end of file
diff --git a/lib/zstd/compress/common/fse.h b/lib/zstd/compress/common/fse.h
new file mode 120000
index 000000000000..29c44ebdd2da
--- /dev/null
+++ b/lib/zstd/compress/common/fse.h
@@ -0,0 +1 @@
+../../common/fse.h
\ No newline at end of file
diff --git a/lib/zstd/compress/common/fse_decompress.c b/lib/zstd/compress/common/fse_decompress.c
new file mode 120000
index 000000000000..658e375541f1
--- /dev/null
+++ b/lib/zstd/compress/common/fse_decompress.c
@@ -0,0 +1 @@
+../../common/fse_decompress.c
\ No newline at end of file
diff --git a/lib/zstd/compress/common/huf.h b/lib/zstd/compress/common/huf.h
new file mode 120000
index 000000000000..7c9142232da6
--- /dev/null
+++ b/lib/zstd/compress/common/huf.h
@@ -0,0 +1 @@
+../../common/huf.h
\ No newline at end of file
diff --git a/lib/zstd/compress/common/mem.h b/lib/zstd/compress/common/mem.h
new file mode 120000
index 000000000000..0d9921eb1ca4
--- /dev/null
+++ b/lib/zstd/compress/common/mem.h
@@ -0,0 +1 @@
+../../common/mem.h
\ No newline at end of file
diff --git a/lib/zstd/compress/common/zstd_common.c b/lib/zstd/compress/common/zstd_common.c
new file mode 120000
index 000000000000..5a7475cd3b87
--- /dev/null
+++ b/lib/zstd/compress/common/zstd_common.c
@@ -0,0 +1 @@
+../../common/zstd_common.c
\ No newline at end of file
diff --git a/lib/zstd/compress/common/zstd_deps.h b/lib/zstd/compress/common/zstd_deps.h
new file mode 120000
index 000000000000..21b3a7e967da
--- /dev/null
+++ b/lib/zstd/compress/common/zstd_deps.h
@@ -0,0 +1 @@
+../../common/zstd_deps.h
\ No newline at end of file
diff --git a/lib/zstd/compress/common/zstd_internal.h b/lib/zstd/compress/common/zstd_internal.h
new file mode 120000
index 000000000000..3bf2b94e718f
--- /dev/null
+++ b/lib/zstd/compress/common/zstd_internal.h
@@ -0,0 +1 @@
+../../common/zstd_internal.h
\ No newline at end of file
diff --git a/lib/zstd/decompress/common/bitstream.h b/lib/zstd/decompress/common/bitstream.h
new file mode 120000
index 000000000000..de97b72f47ce
--- /dev/null
+++ b/lib/zstd/decompress/common/bitstream.h
@@ -0,0 +1 @@
+../../common/bitstream.h
\ No newline at end of file
diff --git a/lib/zstd/decompress/common/compiler.h b/lib/zstd/decompress/common/compiler.h
new file mode 120000
index 000000000000..a316286adf05
--- /dev/null
+++ b/lib/zstd/decompress/common/compiler.h
@@ -0,0 +1 @@
+../../common/compiler.h
\ No newline at end of file
diff --git a/lib/zstd/decompress/common/cpu.h b/lib/zstd/decompress/common/cpu.h
new file mode 120000
index 000000000000..35282be494a2
--- /dev/null
+++ b/lib/zstd/decompress/common/cpu.h
@@ -0,0 +1 @@
+../../common/cpu.h
\ No newline at end of file
diff --git a/lib/zstd/decompress/common/debug.c b/lib/zstd/decompress/common/debug.c
new file mode 120000
index 000000000000..5d7b272026d6
--- /dev/null
+++ b/lib/zstd/decompress/common/debug.c
@@ -0,0 +1 @@
+../../common/debug.c
\ No newline at end of file
diff --git a/lib/zstd/decompress/common/debug.h b/lib/zstd/decompress/common/debug.h
new file mode 120000
index 000000000000..15c1e1cd5c95
--- /dev/null
+++ b/lib/zstd/decompress/common/debug.h
@@ -0,0 +1 @@
+../../common/debug.h
\ No newline at end of file
diff --git a/lib/zstd/decompress/common/entropy_common.c b/lib/zstd/decompress/common/entropy_common.c
new file mode 120000
index 000000000000..221119c32817
--- /dev/null
+++ b/lib/zstd/decompress/common/entropy_common.c
@@ -0,0 +1 @@
+../../common/entropy_common.c
\ No newline at end of file
diff --git a/lib/zstd/decompress/common/error_private.c b/lib/zstd/decompress/common/error_private.c
new file mode 120000
index 000000000000..f87d3cf6851f
--- /dev/null
+++ b/lib/zstd/decompress/common/error_private.c
@@ -0,0 +1 @@
+../../common/error_private.c
\ No newline at end of file
diff --git a/lib/zstd/decompress/common/error_private.h b/lib/zstd/decompress/common/error_private.h
new file mode 120000
index 000000000000..30d469222942
--- /dev/null
+++ b/lib/zstd/decompress/common/error_private.h
@@ -0,0 +1 @@
+../../common/error_private.h
\ No newline at end of file
diff --git a/lib/zstd/decompress/common/fse.h b/lib/zstd/decompress/common/fse.h
new file mode 120000
index 000000000000..29c44ebdd2da
--- /dev/null
+++ b/lib/zstd/decompress/common/fse.h
@@ -0,0 +1 @@
+../../common/fse.h
\ No newline at end of file
diff --git a/lib/zstd/decompress/common/fse_decompress.c b/lib/zstd/decompress/common/fse_decompress.c
new file mode 120000
index 000000000000..658e375541f1
--- /dev/null
+++ b/lib/zstd/decompress/common/fse_decompress.c
@@ -0,0 +1 @@
+../../common/fse_decompress.c
\ No newline at end of file
diff --git a/lib/zstd/decompress/common/huf.h b/lib/zstd/decompress/common/huf.h
new file mode 120000
index 000000000000..7c9142232da6
--- /dev/null
+++ b/lib/zstd/decompress/common/huf.h
@@ -0,0 +1 @@
+../../common/huf.h
\ No newline at end of file
diff --git a/lib/zstd/decompress/common/mem.h b/lib/zstd/decompress/common/mem.h
new file mode 120000
index 000000000000..0d9921eb1ca4
--- /dev/null
+++ b/lib/zstd/decompress/common/mem.h
@@ -0,0 +1 @@
+../../common/mem.h
\ No newline at end of file
diff --git a/lib/zstd/decompress/common/zstd_common.c b/lib/zstd/decompress/common/zstd_common.c
new file mode 120000
index 000000000000..5a7475cd3b87
--- /dev/null
+++ b/lib/zstd/decompress/common/zstd_common.c
@@ -0,0 +1 @@
+../../common/zstd_common.c
\ No newline at end of file
diff --git a/lib/zstd/decompress/common/zstd_deps.h b/lib/zstd/decompress/common/zstd_deps.h
new file mode 120000
index 000000000000..21b3a7e967da
--- /dev/null
+++ b/lib/zstd/decompress/common/zstd_deps.h
@@ -0,0 +1 @@
+../../common/zstd_deps.h
\ No newline at end of file
diff --git a/lib/zstd/decompress/common/zstd_internal.h b/lib/zstd/decompress/common/zstd_internal.h
new file mode 120000
index 000000000000..3bf2b94e718f
--- /dev/null
+++ b/lib/zstd/decompress/common/zstd_internal.h
@@ -0,0 +1 @@
+../../common/zstd_internal.h
\ No newline at end of file
--
2.37.2


2022-09-19 13:11:32

by Masahiro Yamada

[permalink] [raw]
Subject: Re: [PATCH] lib: zstd: build common files separately for compress and decompress

On Mon, Sep 19, 2022 at 9:04 PM Nicholas Piggin <[email protected]> wrote:
>
> It is possible for compress to be built as a module and decompress to
> be built in, and kernel and module C flags can be different. This can
> cause module built code to be linked into the kernel or vice versa.
>
> Use symbolic links from the common code to compression and decompression
> module directories to avoid this problem.
>
> Signed-off-by: Nicholas Piggin <[email protected]>
> ---
> I'm not sure if this is the preferred way to fix it. I hadn't
> thought about this problem before but now I notice it in zstd
> it seems like it could be a pitfall in other parts of the kernel
> as well.


I will apply the following instead.

https://lore.kernel.org/all/[email protected]/



> Is there a better way to solve it? Or some way to
> automatically detect the conflict and fail the build rather than
> silently succeed?


There is a way to detect this, but let me check if there are more
instances that do similar things like zstd.
If I remember correctly, there are some more.








> Thanks,
> Nick
>
> lib/zstd/Makefile | 20 ++++++++++----------
> lib/zstd/compress/common/bitstream.h | 1 +
> lib/zstd/compress/common/compiler.h | 1 +
> lib/zstd/compress/common/cpu.h | 1 +
> lib/zstd/compress/common/debug.c | 1 +
> lib/zstd/compress/common/debug.h | 1 +
> lib/zstd/compress/common/entropy_common.c | 1 +
> lib/zstd/compress/common/error_private.c | 1 +
> lib/zstd/compress/common/error_private.h | 1 +
> lib/zstd/compress/common/fse.h | 1 +
> lib/zstd/compress/common/fse_decompress.c | 1 +
> lib/zstd/compress/common/huf.h | 1 +
> lib/zstd/compress/common/mem.h | 1 +
> lib/zstd/compress/common/zstd_common.c | 1 +
> lib/zstd/compress/common/zstd_deps.h | 1 +
> lib/zstd/compress/common/zstd_internal.h | 1 +
> lib/zstd/decompress/common/bitstream.h | 1 +
> lib/zstd/decompress/common/compiler.h | 1 +
> lib/zstd/decompress/common/cpu.h | 1 +
> lib/zstd/decompress/common/debug.c | 1 +
> lib/zstd/decompress/common/debug.h | 1 +
> lib/zstd/decompress/common/entropy_common.c | 1 +
> lib/zstd/decompress/common/error_private.c | 1 +
> lib/zstd/decompress/common/error_private.h | 1 +
> lib/zstd/decompress/common/fse.h | 1 +
> lib/zstd/decompress/common/fse_decompress.c | 1 +
> lib/zstd/decompress/common/huf.h | 1 +
> lib/zstd/decompress/common/mem.h | 1 +
> lib/zstd/decompress/common/zstd_common.c | 1 +
> lib/zstd/decompress/common/zstd_deps.h | 1 +
> lib/zstd/decompress/common/zstd_internal.h | 1 +
> 31 files changed, 40 insertions(+), 10 deletions(-)
> create mode 120000 lib/zstd/compress/common/bitstream.h
> create mode 120000 lib/zstd/compress/common/compiler.h
> create mode 120000 lib/zstd/compress/common/cpu.h
> create mode 120000 lib/zstd/compress/common/debug.c
> create mode 120000 lib/zstd/compress/common/debug.h
> create mode 120000 lib/zstd/compress/common/entropy_common.c
> create mode 120000 lib/zstd/compress/common/error_private.c
> create mode 120000 lib/zstd/compress/common/error_private.h
> create mode 120000 lib/zstd/compress/common/fse.h
> create mode 120000 lib/zstd/compress/common/fse_decompress.c
> create mode 120000 lib/zstd/compress/common/huf.h
> create mode 120000 lib/zstd/compress/common/mem.h
> create mode 120000 lib/zstd/compress/common/zstd_common.c
> create mode 120000 lib/zstd/compress/common/zstd_deps.h
> create mode 120000 lib/zstd/compress/common/zstd_internal.h
> create mode 120000 lib/zstd/decompress/common/bitstream.h
> create mode 120000 lib/zstd/decompress/common/compiler.h
> create mode 120000 lib/zstd/decompress/common/cpu.h
> create mode 120000 lib/zstd/decompress/common/debug.c
> create mode 120000 lib/zstd/decompress/common/debug.h
> create mode 120000 lib/zstd/decompress/common/entropy_common.c
> create mode 120000 lib/zstd/decompress/common/error_private.c
> create mode 120000 lib/zstd/decompress/common/error_private.h
> create mode 120000 lib/zstd/decompress/common/fse.h
> create mode 120000 lib/zstd/decompress/common/fse_decompress.c
> create mode 120000 lib/zstd/decompress/common/huf.h
> create mode 120000 lib/zstd/decompress/common/mem.h
> create mode 120000 lib/zstd/decompress/common/zstd_common.c
> create mode 120000 lib/zstd/decompress/common/zstd_deps.h
> create mode 120000 lib/zstd/decompress/common/zstd_internal.h
>
> diff --git a/lib/zstd/Makefile b/lib/zstd/Makefile
> index fc45339fc3a3..6d785268f8c3 100644
> --- a/lib/zstd/Makefile
> +++ b/lib/zstd/Makefile
> @@ -13,11 +13,11 @@ obj-$(CONFIG_ZSTD_DECOMPRESS) += zstd_decompress.o
>
> zstd_compress-y := \
> zstd_compress_module.o \
> - common/debug.o \
> - common/entropy_common.o \
> - common/error_private.o \
> - common/fse_decompress.o \
> - common/zstd_common.o \
> + compress/common/debug.o \
> + compress/common/entropy_common.o \
> + compress/common/error_private.o \
> + compress/common/fse_decompress.o \
> + compress/common/zstd_common.o \
> compress/fse_compress.o \
> compress/hist.o \
> compress/huf_compress.o \
> @@ -33,11 +33,11 @@ zstd_compress-y := \
>
> zstd_decompress-y := \
> zstd_decompress_module.o \
> - common/debug.o \
> - common/entropy_common.o \
> - common/error_private.o \
> - common/fse_decompress.o \
> - common/zstd_common.o \
> + decompress/common/debug.o \
> + decompress/common/entropy_common.o \
> + decompress/common/error_private.o \
> + decompress/common/fse_decompress.o \
> + decompress/common/zstd_common.o \
> decompress/huf_decompress.o \
> decompress/zstd_ddict.o \
> decompress/zstd_decompress.o \
> diff --git a/lib/zstd/compress/common/bitstream.h b/lib/zstd/compress/common/bitstream.h
> new file mode 120000
> index 000000000000..de97b72f47ce
> --- /dev/null
> +++ b/lib/zstd/compress/common/bitstream.h
> @@ -0,0 +1 @@
> +../../common/bitstream.h
> \ No newline at end of file
> diff --git a/lib/zstd/compress/common/compiler.h b/lib/zstd/compress/common/compiler.h
> new file mode 120000
> index 000000000000..a316286adf05
> --- /dev/null
> +++ b/lib/zstd/compress/common/compiler.h
> @@ -0,0 +1 @@
> +../../common/compiler.h
> \ No newline at end of file
> diff --git a/lib/zstd/compress/common/cpu.h b/lib/zstd/compress/common/cpu.h
> new file mode 120000
> index 000000000000..35282be494a2
> --- /dev/null
> +++ b/lib/zstd/compress/common/cpu.h
> @@ -0,0 +1 @@
> +../../common/cpu.h
> \ No newline at end of file
> diff --git a/lib/zstd/compress/common/debug.c b/lib/zstd/compress/common/debug.c
> new file mode 120000
> index 000000000000..5d7b272026d6
> --- /dev/null
> +++ b/lib/zstd/compress/common/debug.c
> @@ -0,0 +1 @@
> +../../common/debug.c
> \ No newline at end of file
> diff --git a/lib/zstd/compress/common/debug.h b/lib/zstd/compress/common/debug.h
> new file mode 120000
> index 000000000000..15c1e1cd5c95
> --- /dev/null
> +++ b/lib/zstd/compress/common/debug.h
> @@ -0,0 +1 @@
> +../../common/debug.h
> \ No newline at end of file
> diff --git a/lib/zstd/compress/common/entropy_common.c b/lib/zstd/compress/common/entropy_common.c
> new file mode 120000
> index 000000000000..221119c32817
> --- /dev/null
> +++ b/lib/zstd/compress/common/entropy_common.c
> @@ -0,0 +1 @@
> +../../common/entropy_common.c
> \ No newline at end of file
> diff --git a/lib/zstd/compress/common/error_private.c b/lib/zstd/compress/common/error_private.c
> new file mode 120000
> index 000000000000..f87d3cf6851f
> --- /dev/null
> +++ b/lib/zstd/compress/common/error_private.c
> @@ -0,0 +1 @@
> +../../common/error_private.c
> \ No newline at end of file
> diff --git a/lib/zstd/compress/common/error_private.h b/lib/zstd/compress/common/error_private.h
> new file mode 120000
> index 000000000000..30d469222942
> --- /dev/null
> +++ b/lib/zstd/compress/common/error_private.h
> @@ -0,0 +1 @@
> +../../common/error_private.h
> \ No newline at end of file
> diff --git a/lib/zstd/compress/common/fse.h b/lib/zstd/compress/common/fse.h
> new file mode 120000
> index 000000000000..29c44ebdd2da
> --- /dev/null
> +++ b/lib/zstd/compress/common/fse.h
> @@ -0,0 +1 @@
> +../../common/fse.h
> \ No newline at end of file
> diff --git a/lib/zstd/compress/common/fse_decompress.c b/lib/zstd/compress/common/fse_decompress.c
> new file mode 120000
> index 000000000000..658e375541f1
> --- /dev/null
> +++ b/lib/zstd/compress/common/fse_decompress.c
> @@ -0,0 +1 @@
> +../../common/fse_decompress.c
> \ No newline at end of file
> diff --git a/lib/zstd/compress/common/huf.h b/lib/zstd/compress/common/huf.h
> new file mode 120000
> index 000000000000..7c9142232da6
> --- /dev/null
> +++ b/lib/zstd/compress/common/huf.h
> @@ -0,0 +1 @@
> +../../common/huf.h
> \ No newline at end of file
> diff --git a/lib/zstd/compress/common/mem.h b/lib/zstd/compress/common/mem.h
> new file mode 120000
> index 000000000000..0d9921eb1ca4
> --- /dev/null
> +++ b/lib/zstd/compress/common/mem.h
> @@ -0,0 +1 @@
> +../../common/mem.h
> \ No newline at end of file
> diff --git a/lib/zstd/compress/common/zstd_common.c b/lib/zstd/compress/common/zstd_common.c
> new file mode 120000
> index 000000000000..5a7475cd3b87
> --- /dev/null
> +++ b/lib/zstd/compress/common/zstd_common.c
> @@ -0,0 +1 @@
> +../../common/zstd_common.c
> \ No newline at end of file
> diff --git a/lib/zstd/compress/common/zstd_deps.h b/lib/zstd/compress/common/zstd_deps.h
> new file mode 120000
> index 000000000000..21b3a7e967da
> --- /dev/null
> +++ b/lib/zstd/compress/common/zstd_deps.h
> @@ -0,0 +1 @@
> +../../common/zstd_deps.h
> \ No newline at end of file
> diff --git a/lib/zstd/compress/common/zstd_internal.h b/lib/zstd/compress/common/zstd_internal.h
> new file mode 120000
> index 000000000000..3bf2b94e718f
> --- /dev/null
> +++ b/lib/zstd/compress/common/zstd_internal.h
> @@ -0,0 +1 @@
> +../../common/zstd_internal.h
> \ No newline at end of file
> diff --git a/lib/zstd/decompress/common/bitstream.h b/lib/zstd/decompress/common/bitstream.h
> new file mode 120000
> index 000000000000..de97b72f47ce
> --- /dev/null
> +++ b/lib/zstd/decompress/common/bitstream.h
> @@ -0,0 +1 @@
> +../../common/bitstream.h
> \ No newline at end of file
> diff --git a/lib/zstd/decompress/common/compiler.h b/lib/zstd/decompress/common/compiler.h
> new file mode 120000
> index 000000000000..a316286adf05
> --- /dev/null
> +++ b/lib/zstd/decompress/common/compiler.h
> @@ -0,0 +1 @@
> +../../common/compiler.h
> \ No newline at end of file
> diff --git a/lib/zstd/decompress/common/cpu.h b/lib/zstd/decompress/common/cpu.h
> new file mode 120000
> index 000000000000..35282be494a2
> --- /dev/null
> +++ b/lib/zstd/decompress/common/cpu.h
> @@ -0,0 +1 @@
> +../../common/cpu.h
> \ No newline at end of file
> diff --git a/lib/zstd/decompress/common/debug.c b/lib/zstd/decompress/common/debug.c
> new file mode 120000
> index 000000000000..5d7b272026d6
> --- /dev/null
> +++ b/lib/zstd/decompress/common/debug.c
> @@ -0,0 +1 @@
> +../../common/debug.c
> \ No newline at end of file
> diff --git a/lib/zstd/decompress/common/debug.h b/lib/zstd/decompress/common/debug.h
> new file mode 120000
> index 000000000000..15c1e1cd5c95
> --- /dev/null
> +++ b/lib/zstd/decompress/common/debug.h
> @@ -0,0 +1 @@
> +../../common/debug.h
> \ No newline at end of file
> diff --git a/lib/zstd/decompress/common/entropy_common.c b/lib/zstd/decompress/common/entropy_common.c
> new file mode 120000
> index 000000000000..221119c32817
> --- /dev/null
> +++ b/lib/zstd/decompress/common/entropy_common.c
> @@ -0,0 +1 @@
> +../../common/entropy_common.c
> \ No newline at end of file
> diff --git a/lib/zstd/decompress/common/error_private.c b/lib/zstd/decompress/common/error_private.c
> new file mode 120000
> index 000000000000..f87d3cf6851f
> --- /dev/null
> +++ b/lib/zstd/decompress/common/error_private.c
> @@ -0,0 +1 @@
> +../../common/error_private.c
> \ No newline at end of file
> diff --git a/lib/zstd/decompress/common/error_private.h b/lib/zstd/decompress/common/error_private.h
> new file mode 120000
> index 000000000000..30d469222942
> --- /dev/null
> +++ b/lib/zstd/decompress/common/error_private.h
> @@ -0,0 +1 @@
> +../../common/error_private.h
> \ No newline at end of file
> diff --git a/lib/zstd/decompress/common/fse.h b/lib/zstd/decompress/common/fse.h
> new file mode 120000
> index 000000000000..29c44ebdd2da
> --- /dev/null
> +++ b/lib/zstd/decompress/common/fse.h
> @@ -0,0 +1 @@
> +../../common/fse.h
> \ No newline at end of file
> diff --git a/lib/zstd/decompress/common/fse_decompress.c b/lib/zstd/decompress/common/fse_decompress.c
> new file mode 120000
> index 000000000000..658e375541f1
> --- /dev/null
> +++ b/lib/zstd/decompress/common/fse_decompress.c
> @@ -0,0 +1 @@
> +../../common/fse_decompress.c
> \ No newline at end of file
> diff --git a/lib/zstd/decompress/common/huf.h b/lib/zstd/decompress/common/huf.h
> new file mode 120000
> index 000000000000..7c9142232da6
> --- /dev/null
> +++ b/lib/zstd/decompress/common/huf.h
> @@ -0,0 +1 @@
> +../../common/huf.h
> \ No newline at end of file
> diff --git a/lib/zstd/decompress/common/mem.h b/lib/zstd/decompress/common/mem.h
> new file mode 120000
> index 000000000000..0d9921eb1ca4
> --- /dev/null
> +++ b/lib/zstd/decompress/common/mem.h
> @@ -0,0 +1 @@
> +../../common/mem.h
> \ No newline at end of file
> diff --git a/lib/zstd/decompress/common/zstd_common.c b/lib/zstd/decompress/common/zstd_common.c
> new file mode 120000
> index 000000000000..5a7475cd3b87
> --- /dev/null
> +++ b/lib/zstd/decompress/common/zstd_common.c
> @@ -0,0 +1 @@
> +../../common/zstd_common.c
> \ No newline at end of file
> diff --git a/lib/zstd/decompress/common/zstd_deps.h b/lib/zstd/decompress/common/zstd_deps.h
> new file mode 120000
> index 000000000000..21b3a7e967da
> --- /dev/null
> +++ b/lib/zstd/decompress/common/zstd_deps.h
> @@ -0,0 +1 @@
> +../../common/zstd_deps.h
> \ No newline at end of file
> diff --git a/lib/zstd/decompress/common/zstd_internal.h b/lib/zstd/decompress/common/zstd_internal.h
> new file mode 120000
> index 000000000000..3bf2b94e718f
> --- /dev/null
> +++ b/lib/zstd/decompress/common/zstd_internal.h
> @@ -0,0 +1 @@
> +../../common/zstd_internal.h
> \ No newline at end of file
> --
> 2.37.2
>


--
Best Regards
Masahiro Yamada

2022-09-19 20:20:15

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH] lib: zstd: build common files separately for compress and decompress

Hi Nicholas,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v6.0-rc6 next-20220919]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Nicholas-Piggin/lib-zstd-build-common-files-separately-for-compress-and-decompress/20220919-200605
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 521a547ced6477c54b4b0cc206000406c221b4d6
config: nios2-randconfig-r026-20220919
compiler: nios2-linux-gcc (GCC) 12.1.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/intel-lab-lkp/linux/commit/5c841e581c21f9aeb22e008899f84ac275b462a9
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Nicholas-Piggin/lib-zstd-build-common-files-separately-for-compress-and-decompress/20220919-200605
git checkout 5c841e581c21f9aeb22e008899f84ac275b462a9
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=nios2 SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>

All errors (new ones prefixed by >>):

>> nios2-linux-ld: lib/zstd/decompress/common/debug.o:(.bss+0x0): multiple definition of `g_debuglevel'; lib/zstd/compress/common/debug.o:(.bss+0x0): first defined here
nios2-linux-ld: lib/zstd/decompress/common/entropy_common.o: in function `FSE_versionNumber':
>> entropy_common.c:(.text+0x5a4): multiple definition of `FSE_versionNumber'; lib/zstd/compress/common/entropy_common.o:entropy_common.c:(.text+0x5a4): first defined here
nios2-linux-ld: lib/zstd/decompress/common/entropy_common.o: in function `FSE_isError':
>> entropy_common.c:(.text+0x5ac): multiple definition of `FSE_isError'; lib/zstd/compress/common/entropy_common.o:entropy_common.c:(.text+0x5ac): first defined here
nios2-linux-ld: lib/zstd/decompress/common/entropy_common.o: in function `FSE_getErrorName':
>> entropy_common.c:(.text+0x5b8): multiple definition of `FSE_getErrorName'; lib/zstd/compress/common/entropy_common.o:entropy_common.c:(.text+0x5b8): first defined here
nios2-linux-ld: lib/zstd/decompress/common/entropy_common.o: in function `HUF_isError':
>> entropy_common.c:(.text+0x5e4): multiple definition of `HUF_isError'; lib/zstd/compress/common/entropy_common.o:entropy_common.c:(.text+0x5e4): first defined here
nios2-linux-ld: lib/zstd/decompress/common/entropy_common.o: in function `HUF_getErrorName':
>> entropy_common.c:(.text+0x5f0): multiple definition of `HUF_getErrorName'; lib/zstd/compress/common/entropy_common.o:entropy_common.c:(.text+0x5f0): first defined here
nios2-linux-ld: lib/zstd/decompress/common/entropy_common.o: in function `FSE_readNCount_bmi2':
>> entropy_common.c:(.text+0x61c): multiple definition of `FSE_readNCount_bmi2'; lib/zstd/compress/common/entropy_common.o:entropy_common.c:(.text+0x61c): first defined here
nios2-linux-ld: lib/zstd/decompress/common/entropy_common.o: in function `FSE_readNCount':
>> entropy_common.c:(.text+0x63c): multiple definition of `FSE_readNCount'; lib/zstd/compress/common/entropy_common.o:entropy_common.c:(.text+0x63c): first defined here
nios2-linux-ld: lib/zstd/decompress/common/entropy_common.o: in function `HUF_readStats':
>> entropy_common.c:(.text+0x65c): multiple definition of `HUF_readStats'; lib/zstd/compress/common/entropy_common.o:entropy_common.c:(.text+0x65c): first defined here
nios2-linux-ld: lib/zstd/decompress/common/entropy_common.o: in function `HUF_readStats_wksp':
>> entropy_common.c:(.text+0x6ec): multiple definition of `HUF_readStats_wksp'; lib/zstd/compress/common/entropy_common.o:entropy_common.c:(.text+0x6ec): first defined here
nios2-linux-ld: lib/zstd/decompress/common/error_private.o: in function `ERR_getErrorString':
>> error_private.c:(.text+0x0): multiple definition of `ERR_getErrorString'; lib/zstd/compress/common/error_private.o:error_private.c:(.text+0x0): first defined here
nios2-linux-ld: lib/zstd/decompress/common/fse_decompress.o: in function `FSE_createDTable':
>> fse_decompress.c:(.text+0xad8): multiple definition of `FSE_createDTable'; lib/zstd/compress/common/fse_decompress.o:fse_decompress.c:(.text+0xad8): first defined here
nios2-linux-ld: lib/zstd/decompress/common/fse_decompress.o: in function `FSE_freeDTable':
>> fse_decompress.c:(.text+0xae0): multiple definition of `FSE_freeDTable'; lib/zstd/compress/common/fse_decompress.o:fse_decompress.c:(.text+0xae0): first defined here
nios2-linux-ld: lib/zstd/decompress/common/fse_decompress.o: in function `FSE_buildDTable_wksp':
>> fse_decompress.c:(.text+0xae4): multiple definition of `FSE_buildDTable_wksp'; lib/zstd/compress/common/fse_decompress.o:fse_decompress.c:(.text+0xae4): first defined here
nios2-linux-ld: lib/zstd/decompress/common/fse_decompress.o: in function `FSE_buildDTable_rle':
>> fse_decompress.c:(.text+0xb0c): multiple definition of `FSE_buildDTable_rle'; lib/zstd/compress/common/fse_decompress.o:fse_decompress.c:(.text+0xb0c): first defined here
nios2-linux-ld: lib/zstd/decompress/common/fse_decompress.o: in function `FSE_buildDTable_raw':
>> fse_decompress.c:(.text+0xb28): multiple definition of `FSE_buildDTable_raw'; lib/zstd/compress/common/fse_decompress.o:fse_decompress.c:(.text+0xb28): first defined here
nios2-linux-ld: lib/zstd/decompress/common/fse_decompress.o: in function `FSE_decompress_usingDTable':
>> fse_decompress.c:(.text+0xb70): multiple definition of `FSE_decompress_usingDTable'; lib/zstd/compress/common/fse_decompress.o:fse_decompress.c:(.text+0xb70): first defined here
nios2-linux-ld: lib/zstd/decompress/common/fse_decompress.o: in function `FSE_decompress_wksp':
>> fse_decompress.c:(.text+0xe50): multiple definition of `FSE_decompress_wksp'; lib/zstd/compress/common/fse_decompress.o:fse_decompress.c:(.text+0xe50): first defined here
nios2-linux-ld: lib/zstd/decompress/common/fse_decompress.o: in function `FSE_decompress_wksp_bmi2':
>> fse_decompress.c:(.text+0xe80): multiple definition of `FSE_decompress_wksp_bmi2'; lib/zstd/compress/common/fse_decompress.o:fse_decompress.c:(.text+0xe80): first defined here
nios2-linux-ld: lib/zstd/decompress/common/zstd_common.o: in function `ZSTD_versionNumber':
>> zstd_common.c:(.text+0x0): multiple definition of `ZSTD_versionNumber'; lib/zstd/compress/common/zstd_common.o:zstd_common.c:(.text+0x0): first defined here
nios2-linux-ld: lib/zstd/decompress/common/zstd_common.o: in function `ZSTD_versionString':
zstd_common.c:(.text+0x8): multiple definition of `ZSTD_versionString'; lib/zstd/compress/common/zstd_common.o:zstd_common.c:(.text+0x8): first defined here
nios2-linux-ld: lib/zstd/decompress/common/zstd_common.o: in function `ZSTD_isError':
zstd_common.c:(.text+0x14): multiple definition of `ZSTD_isError'; lib/zstd/compress/common/zstd_common.o:zstd_common.c:(.text+0x14): first defined here
nios2-linux-ld: lib/zstd/decompress/common/zstd_common.o: in function `ZSTD_getErrorName':
zstd_common.c:(.text+0x20): multiple definition of `ZSTD_getErrorName'; lib/zstd/compress/common/zstd_common.o:zstd_common.c:(.text+0x20): first defined here
nios2-linux-ld: lib/zstd/decompress/common/zstd_common.o: in function `ZSTD_getErrorCode':
zstd_common.c:(.text+0x4c): multiple definition of `ZSTD_getErrorCode'; lib/zstd/compress/common/zstd_common.o:zstd_common.c:(.text+0x4c): first defined here
nios2-linux-ld: lib/zstd/decompress/common/zstd_common.o: in function `ZSTD_getErrorString':
zstd_common.c:(.text+0x64): multiple definition of `ZSTD_getErrorString'; lib/zstd/compress/common/zstd_common.o:zstd_common.c:(.text+0x64): first defined here
nios2-linux-ld: lib/zstd/decompress/common/zstd_common.o: in function `ZSTD_customMalloc':
zstd_common.c:(.text+0x7c): multiple definition of `ZSTD_customMalloc'; lib/zstd/compress/common/zstd_common.o:zstd_common.c:(.text+0x7c): first defined here
nios2-linux-ld: lib/zstd/decompress/common/zstd_common.o: in function `ZSTD_customCalloc':
zstd_common.c:(.text+0xb0): multiple definition of `ZSTD_customCalloc'; lib/zstd/compress/common/zstd_common.o:zstd_common.c:(.text+0xb0): first defined here
nios2-linux-ld: lib/zstd/decompress/common/zstd_common.o: in function `ZSTD_customFree':
zstd_common.c:(.text+0x108): multiple definition of `ZSTD_customFree'; lib/zstd/compress/common/zstd_common.o:zstd_common.c:(.text+0x108): first defined here

--
0-DAY CI Kernel Test Service
https://01.org/lkp


Attachments:
(No filename) (8.84 kB)
config (141.35 kB)
Download all attachments

2022-09-19 22:05:20

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH] lib: zstd: build common files separately for compress and decompress

Hi Nicholas,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v6.0-rc6 next-20220919]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Nicholas-Piggin/lib-zstd-build-common-files-separately-for-compress-and-decompress/20220919-200605
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 521a547ced6477c54b4b0cc206000406c221b4d6
config: microblaze-randconfig-c043-20220918 (https://download.01.org/0day-ci/archive/20220920/[email protected]/config)
compiler: microblaze-linux-gcc (GCC) 12.1.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/intel-lab-lkp/linux/commit/5c841e581c21f9aeb22e008899f84ac275b462a9
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Nicholas-Piggin/lib-zstd-build-common-files-separately-for-compress-and-decompress/20220919-200605
git checkout 5c841e581c21f9aeb22e008899f84ac275b462a9
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=microblaze SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>

All errors (new ones prefixed by >>):

microblaze-linux-ld: lib/zstd/decompress/common/debug.o:lib/zstd/decompress/common/debug.c:24: multiple definition of `g_debuglevel'; lib/zstd/compress/common/debug.o:lib/zstd/compress/common/debug.c:24: first defined here
microblaze-linux-ld: lib/zstd/decompress/common/entropy_common.o: in function `FSE_versionNumber':
lib/zstd/decompress/common/entropy_common.c:27: multiple definition of `FSE_versionNumber'; lib/zstd/compress/common/entropy_common.o:lib/zstd/compress/common/entropy_common.c:27: first defined here
microblaze-linux-ld: lib/zstd/decompress/common/entropy_common.o: in function `ERR_isError':
>> lib/zstd/decompress/common/error_private.h:45: multiple definition of `FSE_isError'; lib/zstd/compress/common/entropy_common.o:lib/zstd/compress/common/error_private.h:45: first defined here
microblaze-linux-ld: lib/zstd/decompress/common/entropy_common.o: in function `FSE_getErrorName':
lib/zstd/decompress/common/entropy_common.c:32: multiple definition of `FSE_getErrorName'; lib/zstd/compress/common/entropy_common.o:lib/zstd/compress/common/entropy_common.c:32: first defined here
microblaze-linux-ld: lib/zstd/decompress/common/entropy_common.o: in function `ERR_isError':
>> lib/zstd/decompress/common/error_private.h:45: multiple definition of `HUF_isError'; lib/zstd/compress/common/entropy_common.o:lib/zstd/compress/common/error_private.h:45: first defined here
microblaze-linux-ld: lib/zstd/decompress/common/entropy_common.o: in function `HUF_getErrorName':
lib/zstd/decompress/common/entropy_common.c:35: multiple definition of `HUF_getErrorName'; lib/zstd/compress/common/entropy_common.o:lib/zstd/compress/common/entropy_common.c:35: first defined here
microblaze-linux-ld: lib/zstd/decompress/common/entropy_common.o: in function `FSE_readNCount_bmi2':
lib/zstd/decompress/common/entropy_common.c:226: multiple definition of `FSE_readNCount_bmi2'; lib/zstd/compress/common/entropy_common.o:lib/zstd/compress/common/entropy_common.c:226: first defined here
microblaze-linux-ld: lib/zstd/decompress/common/entropy_common.o: in function `FSE_readNCount':
lib/zstd/decompress/common/entropy_common.c:239: multiple definition of `FSE_readNCount'; lib/zstd/compress/common/entropy_common.o:lib/zstd/compress/common/entropy_common.c:239: first defined here
microblaze-linux-ld: lib/zstd/decompress/common/entropy_common.o: in function `HUF_readStats':
lib/zstd/decompress/common/entropy_common.c:254: multiple definition of `HUF_readStats'; lib/zstd/compress/common/entropy_common.o:lib/zstd/compress/common/entropy_common.c:254: first defined here
microblaze-linux-ld: lib/zstd/decompress/common/entropy_common.o: in function `HUF_readStats_wksp':
lib/zstd/decompress/common/entropy_common.c:349: multiple definition of `HUF_readStats_wksp'; lib/zstd/compress/common/entropy_common.o:lib/zstd/compress/common/entropy_common.c:349: first defined here
microblaze-linux-ld: lib/zstd/decompress/common/error_private.o: in function `ERR_getErrorString':
lib/zstd/decompress/common/error_private.c:22: multiple definition of `ERR_getErrorString'; lib/zstd/compress/common/error_private.o:lib/zstd/compress/common/error_private.c:22: first defined here
microblaze-linux-ld: lib/zstd/decompress/common/fse_decompress.o: in function `FSE_createDTable':
lib/zstd/decompress/common/fse_decompress.c:64: multiple definition of `FSE_createDTable'; lib/zstd/compress/common/fse_decompress.o:lib/zstd/compress/common/fse_decompress.c:64: first defined here
microblaze-linux-ld: lib/zstd/decompress/common/fse_decompress.o: in function `FSE_freeDTable':
lib/zstd/decompress/common/fse_decompress.c:69: multiple definition of `FSE_freeDTable'; lib/zstd/compress/common/fse_decompress.o:lib/zstd/compress/common/fse_decompress.c:69: first defined here
microblaze-linux-ld: lib/zstd/decompress/common/fse_decompress.o: in function `FSE_buildDTable_wksp':
lib/zstd/decompress/common/fse_decompress.c:177: multiple definition of `FSE_buildDTable_wksp'; lib/zstd/compress/common/fse_decompress.o:lib/zstd/compress/common/fse_decompress.c:177: first defined here
microblaze-linux-ld: lib/zstd/decompress/common/fse_decompress.o: in function `FSE_buildDTable_rle':
lib/zstd/decompress/common/fse_decompress.c:202: multiple definition of `FSE_buildDTable_rle'; lib/zstd/compress/common/fse_decompress.o:lib/zstd/compress/common/fse_decompress.c:202: first defined here
microblaze-linux-ld: lib/zstd/decompress/common/fse_decompress.o: in function `FSE_buildDTable_raw':
lib/zstd/decompress/common/fse_decompress.c:211: multiple definition of `FSE_buildDTable_raw'; lib/zstd/compress/common/fse_decompress.o:lib/zstd/compress/common/fse_decompress.c:211: first defined here
microblaze-linux-ld: lib/zstd/decompress/common/fse_decompress.o: in function `FSE_decompress_usingDTable':
lib/zstd/decompress/common/fse_decompress.c:297: multiple definition of `FSE_decompress_usingDTable'; lib/zstd/compress/common/fse_decompress.o:lib/zstd/compress/common/fse_decompress.c:297: first defined here
microblaze-linux-ld: lib/zstd/decompress/common/fse_decompress.o: in function `FSE_decompress_wksp':
lib/zstd/decompress/common/fse_decompress.c:309: multiple definition of `FSE_decompress_wksp'; lib/zstd/compress/common/fse_decompress.o:lib/zstd/compress/common/fse_decompress.c:309: first defined here
microblaze-linux-ld: lib/zstd/decompress/common/fse_decompress.o: in function `FSE_decompress_wksp_bmi2':
lib/zstd/decompress/common/fse_decompress.c:375: multiple definition of `FSE_decompress_wksp_bmi2'; lib/zstd/compress/common/fse_decompress.o:lib/zstd/compress/common/fse_decompress.c:375: first defined here
microblaze-linux-ld: lib/zstd/decompress/common/zstd_common.o: in function `ZSTD_versionNumber':
lib/zstd/decompress/common/zstd_common.c:25: multiple definition of `ZSTD_versionNumber'; lib/zstd/compress/common/zstd_common.o:lib/zstd/compress/common/zstd_common.c:25: first defined here
microblaze-linux-ld: lib/zstd/decompress/common/zstd_common.o: in function `ZSTD_versionString':
lib/zstd/decompress/common/zstd_common.c:27: multiple definition of `ZSTD_versionString'; lib/zstd/compress/common/zstd_common.o:lib/zstd/compress/common/zstd_common.c:27: first defined here
microblaze-linux-ld: lib/zstd/decompress/common/zstd_common.o: in function `ERR_isError':
>> lib/zstd/decompress/common/error_private.h:45: multiple definition of `ZSTD_isError'; lib/zstd/compress/common/zstd_common.o:lib/zstd/compress/common/error_private.h:45: first defined here
microblaze-linux-ld: lib/zstd/decompress/common/zstd_common.o: in function `ZSTD_getErrorName':
lib/zstd/decompress/common/zstd_common.c:41: multiple definition of `ZSTD_getErrorName'; lib/zstd/compress/common/zstd_common.o:lib/zstd/compress/common/zstd_common.c:41: first defined here
microblaze-linux-ld: lib/zstd/decompress/common/zstd_common.o: in function `ERR_getErrorCode':
>> lib/zstd/decompress/common/error_private.h:47: multiple definition of `ZSTD_getErrorCode'; lib/zstd/compress/common/zstd_common.o:lib/zstd/compress/common/error_private.h:47: first defined here
microblaze-linux-ld: lib/zstd/decompress/common/zstd_common.o: in function `ZSTD_getErrorString':
lib/zstd/decompress/common/zstd_common.c:49: multiple definition of `ZSTD_getErrorString'; lib/zstd/compress/common/zstd_common.o:lib/zstd/compress/common/zstd_common.c:49: first defined here
microblaze-linux-ld: lib/zstd/decompress/common/zstd_common.o: in function `ZSTD_customMalloc':
lib/zstd/decompress/common/zstd_common.c:57: multiple definition of `ZSTD_customMalloc'; lib/zstd/compress/common/zstd_common.o:lib/zstd/compress/common/zstd_common.c:57: first defined here
microblaze-linux-ld: lib/zstd/decompress/common/zstd_common.o: in function `ZSTD_customCalloc':
lib/zstd/decompress/common/zstd_common.c:64: multiple definition of `ZSTD_customCalloc'; lib/zstd/compress/common/zstd_common.o:lib/zstd/compress/common/zstd_common.c:64: first defined here
microblaze-linux-ld: lib/zstd/decompress/common/zstd_common.o: in function `ZSTD_customFree':
lib/zstd/decompress/common/zstd_common.c:76: multiple definition of `ZSTD_customFree'; lib/zstd/compress/common/zstd_common.o:lib/zstd/compress/common/zstd_common.c:76: first defined here


vim +45 lib/zstd/decompress/common/error_private.h

--
0-DAY CI Kernel Test Service
https://01.org/lkp