[PATCH] MIPS: boot/compressed/: add __ashldi3 to target for ZSTD compression

Paul Cercueil posted 1 patch 4 years, 4 months ago
arch/mips/boot/compressed/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] MIPS: boot/compressed/: add __ashldi3 to target for ZSTD compression
Posted by Paul Cercueil 4 years, 4 months ago
Just like before with __bswapdi2(), for MIPS pre-boot when
CONFIG_KERNEL_ZSTD=y the decompressor function will use __ashldi3(), so
the object file should be added to the target object file.

Fixes these build errors:

mipsel-linux-ld: arch/mips/boot/compressed/decompress.o: in function `FSE_buildDTable_internal':
decompress.c:(.text.FSE_buildDTable_internal+0x48): undefined reference to `__ashldi3'
mipsel-linux-ld: arch/mips/boot/compressed/decompress.o: in function `FSE_decompress_wksp_body_default':
decompress.c:(.text.FSE_decompress_wksp_body_default+0xa8): undefined reference to `__ashldi3'
mipsel-linux-ld: arch/mips/boot/compressed/decompress.o: in function `ZSTD_getFrameHeader_advanced':
decompress.c:(.text.ZSTD_getFrameHeader_advanced+0x134): undefined reference to `__ashldi3'

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
---
 arch/mips/boot/compressed/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/mips/boot/compressed/Makefile b/arch/mips/boot/compressed/Makefile
index 2861a05c2e0c..f27cf31b4140 100644
--- a/arch/mips/boot/compressed/Makefile
+++ b/arch/mips/boot/compressed/Makefile
@@ -52,7 +52,7 @@ endif
 
 vmlinuzobjs-$(CONFIG_KERNEL_XZ) += $(obj)/ashldi3.o
 
-vmlinuzobjs-$(CONFIG_KERNEL_ZSTD) += $(obj)/bswapdi.o
+vmlinuzobjs-$(CONFIG_KERNEL_ZSTD) += $(obj)/bswapdi.o $(obj)/ashldi3.o
 
 targets := $(notdir $(vmlinuzobjs-y))
 
-- 
2.33.0

Re: [PATCH] MIPS: boot/compressed/: add __ashldi3 to target for ZSTD compression
Posted by Randy Dunlap 4 years, 4 months ago
On 11/19/21 9:50 AM, Paul Cercueil wrote:
> Just like before with __bswapdi2(), for MIPS pre-boot when
> CONFIG_KERNEL_ZSTD=y the decompressor function will use __ashldi3(), so
> the object file should be added to the target object file.
> 
> Fixes these build errors:
> 
> mipsel-linux-ld: arch/mips/boot/compressed/decompress.o: in function `FSE_buildDTable_internal':
> decompress.c:(.text.FSE_buildDTable_internal+0x48): undefined reference to `__ashldi3'
> mipsel-linux-ld: arch/mips/boot/compressed/decompress.o: in function `FSE_decompress_wksp_body_default':
> decompress.c:(.text.FSE_decompress_wksp_body_default+0xa8): undefined reference to `__ashldi3'
> mipsel-linux-ld: arch/mips/boot/compressed/decompress.o: in function `ZSTD_getFrameHeader_advanced':
> decompress.c:(.text.ZSTD_getFrameHeader_advanced+0x134): undefined reference to `__ashldi3'
> 
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>

I haven't seen this build error but the patch looks
fine to me.

Reviewed-by: Randy Dunlap <rdunlap@infradead.org>

Thanks.

> ---
>   arch/mips/boot/compressed/Makefile | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/mips/boot/compressed/Makefile b/arch/mips/boot/compressed/Makefile
> index 2861a05c2e0c..f27cf31b4140 100644
> --- a/arch/mips/boot/compressed/Makefile
> +++ b/arch/mips/boot/compressed/Makefile
> @@ -52,7 +52,7 @@ endif
>   
>   vmlinuzobjs-$(CONFIG_KERNEL_XZ) += $(obj)/ashldi3.o
>   
> -vmlinuzobjs-$(CONFIG_KERNEL_ZSTD) += $(obj)/bswapdi.o
> +vmlinuzobjs-$(CONFIG_KERNEL_ZSTD) += $(obj)/bswapdi.o $(obj)/ashldi3.o
>   
>   targets := $(notdir $(vmlinuzobjs-y))
>   
> 


-- 
~Randy
Re: [PATCH] MIPS: boot/compressed/: add __ashldi3 to target for ZSTD compression
Posted by Thomas Bogendoerfer 4 years, 4 months ago
On Fri, Nov 19, 2021 at 05:50:52PM +0000, Paul Cercueil wrote:
> Just like before with __bswapdi2(), for MIPS pre-boot when
> CONFIG_KERNEL_ZSTD=y the decompressor function will use __ashldi3(), so
> the object file should be added to the target object file.
> 
> Fixes these build errors:
> 
> mipsel-linux-ld: arch/mips/boot/compressed/decompress.o: in function `FSE_buildDTable_internal':
> decompress.c:(.text.FSE_buildDTable_internal+0x48): undefined reference to `__ashldi3'
> mipsel-linux-ld: arch/mips/boot/compressed/decompress.o: in function `FSE_decompress_wksp_body_default':
> decompress.c:(.text.FSE_decompress_wksp_body_default+0xa8): undefined reference to `__ashldi3'
> mipsel-linux-ld: arch/mips/boot/compressed/decompress.o: in function `ZSTD_getFrameHeader_advanced':
> decompress.c:(.text.ZSTD_getFrameHeader_advanced+0x134): undefined reference to `__ashldi3'
> 
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
> ---
>  arch/mips/boot/compressed/Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/mips/boot/compressed/Makefile b/arch/mips/boot/compressed/Makefile
> index 2861a05c2e0c..f27cf31b4140 100644
> --- a/arch/mips/boot/compressed/Makefile
> +++ b/arch/mips/boot/compressed/Makefile
> @@ -52,7 +52,7 @@ endif
>  
>  vmlinuzobjs-$(CONFIG_KERNEL_XZ) += $(obj)/ashldi3.o
>  
> -vmlinuzobjs-$(CONFIG_KERNEL_ZSTD) += $(obj)/bswapdi.o
> +vmlinuzobjs-$(CONFIG_KERNEL_ZSTD) += $(obj)/bswapdi.o $(obj)/ashldi3.o
>  
>  targets := $(notdir $(vmlinuzobjs-y))
>  
> -- 
> 2.33.0

applied to mips-fixes.

Thomas.

-- 
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea.                                                [ RFC1925, 2.3 ]