diff mbox series

lib: zstd: build common files separately for compress and decompress

Message ID 20220919120408.3956424-1-npiggin@gmail.com (mailing list archive)
State New, archived
Headers show
Series lib: zstd: build common files separately for compress and decompress | expand

Commit Message

Nicholas Piggin Sept. 19, 2022, 12:04 p.m. UTC
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 <npiggin@gmail.com>
---
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

Comments

Masahiro Yamada Sept. 19, 2022, 12:52 p.m. UTC | #1
On Mon, Sep 19, 2022 at 9:04 PM Nicholas Piggin <npiggin@gmail.com> 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 <npiggin@gmail.com>
> ---
> 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/20220429053329.2278740-1-aik@ozlabs.ru/



> 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
>
kernel test robot Sept. 19, 2022, 9:39 p.m. UTC | #2
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/202209200555.i687Ffik-lkp@intel.com/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 <lkp@intel.com>

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
diff mbox series

Patch

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