| From 66141cbd82119eef5fd3a3f915e80ea43fff4b82 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Fri, 7 Jan 2022 18:57:22 +0000 |
| Subject: MIPS: compressed: Fix build with ZSTD compression |
| |
| From: Paul Cercueil <paul@crapouillou.net> |
| |
| [ Upstream commit c5c7440fe7f74645940d5c9e2c49cd7efb706a4f ] |
| |
| Fix the following build issues: |
| |
| mips64el-linux-ld: arch/mips/boot/compressed/decompress.o: in function `FSE_buildDTable_internal': |
| decompress.c:(.text.FSE_buildDTable_internal+0x2cc): undefined reference to `__clzdi2' |
| mips64el-linux-ld: arch/mips/boot/compressed/decompress.o: in function `BIT_initDStream': |
| decompress.c:(.text.BIT_initDStream+0x7c): undefined reference to `__clzdi2' |
| mips64el-linux-ld: decompress.c:(.text.BIT_initDStream+0x158): undefined reference to `__clzdi2' |
| mips64el-linux-ld: arch/mips/boot/compressed/decompress.o: in function `ZSTD_buildFSETable_body_default.constprop.0': |
| decompress.c:(.text.ZSTD_buildFSETable_body_default.constprop.0+0x2a8): undefined reference to `__clzdi2' |
| mips64el-linux-ld: arch/mips/boot/compressed/decompress.o: in function `FSE_readNCount_body_default': |
| decompress.c:(.text.FSE_readNCount_body_default+0x130): undefined reference to `__ctzdi2' |
| mips64el-linux-ld: decompress.c:(.text.FSE_readNCount_body_default+0x1a4): undefined reference to `__ctzdi2' |
| mips64el-linux-ld: decompress.c:(.text.FSE_readNCount_body_default+0x2e4): undefined reference to `__clzdi2' |
| mips64el-linux-ld: arch/mips/boot/compressed/decompress.o: in function `HUF_readStats_body_default': |
| decompress.c:(.text.HUF_readStats_body_default+0x184): undefined reference to `__clzdi2' |
| mips64el-linux-ld: decompress.c:(.text.HUF_readStats_body_default+0x1b4): undefined reference to `__clzdi2' |
| mips64el-linux-ld: arch/mips/boot/compressed/decompress.o: in function `ZSTD_DCtx_getParameter': |
| decompress.c:(.text.ZSTD_DCtx_getParameter+0x60): undefined reference to `__clzdi2' |
| |
| Fixes: a510b616131f ("MIPS: Add support for ZSTD-compressed kernels") |
| Reported-by: kernel test robot <lkp@intel.com> |
| Reported-by: Nick Terrell <terrelln@fb.com> |
| Signed-off-by: Paul Cercueil <paul@crapouillou.net> |
| Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| arch/mips/boot/compressed/Makefile | 2 +- |
| arch/mips/boot/compressed/clz_ctz.c | 2 ++ |
| 2 files changed, 3 insertions(+), 1 deletion(-) |
| create mode 100644 arch/mips/boot/compressed/clz_ctz.c |
| |
| diff --git a/arch/mips/boot/compressed/Makefile b/arch/mips/boot/compressed/Makefile |
| index f53510d2f6296..705b9e7f8035a 100644 |
| --- a/arch/mips/boot/compressed/Makefile |
| +++ b/arch/mips/boot/compressed/Makefile |
| @@ -56,7 +56,7 @@ $(obj)/uart-ath79.c: $(srctree)/arch/mips/ath79/early_printk.c |
| |
| vmlinuzobjs-$(CONFIG_KERNEL_XZ) += $(obj)/ashldi3.o |
| |
| -vmlinuzobjs-$(CONFIG_KERNEL_ZSTD) += $(obj)/bswapdi.o $(obj)/ashldi3.o |
| +vmlinuzobjs-$(CONFIG_KERNEL_ZSTD) += $(obj)/bswapdi.o $(obj)/ashldi3.o $(obj)/clz_ctz.o |
| |
| extra-y += ashldi3.c |
| $(obj)/ashldi3.c: $(obj)/%.c: $(srctree)/lib/%.c FORCE |
| diff --git a/arch/mips/boot/compressed/clz_ctz.c b/arch/mips/boot/compressed/clz_ctz.c |
| new file mode 100644 |
| index 0000000000000..b4a1b6eb2f8ad |
| --- /dev/null |
| +++ b/arch/mips/boot/compressed/clz_ctz.c |
| @@ -0,0 +1,2 @@ |
| +// SPDX-License-Identifier: GPL-2.0-only |
| +#include "../../../../lib/clz_ctz.c" |
| -- |
| 2.34.1 |
| |