diff mbox series

MIPS: boot/compressed/: add __bswapdi2() to target for ZSTD decompression

Message ID 20211110030944.6733-1-rdunlap@infradead.org (mailing list archive)
State Accepted
Commit e2f4b3be1d3c73176db734565b160250cc1300dd
Headers show
Series MIPS: boot/compressed/: add __bswapdi2() to target for ZSTD decompression | expand

Commit Message

Randy Dunlap Nov. 10, 2021, 3:09 a.m. UTC
For MIPS pre-boot, when CONFIG_KERNEL_ZSTD=y, the decompressor
function uses __bswapdi2(), so this object file should be added to
the target object file.

Fixes these build errors:

mips-linux-ld: arch/mips/boot/compressed/decompress.o: in function `xxh64':
decompress.c:(.text+0x8be0): undefined reference to `__bswapdi2'
mips-linux-ld: decompress.c:(.text+0x8c78): undefined reference to `__bswapdi2'
mips-linux-ld: decompress.c:(.text+0x8d04): undefined reference to `__bswapdi2'
mips-linux-ld: arch/mips/boot/compressed/decompress.o:decompress.c:(.text+0xa010): more undefined references to `__bswapdi2' follow

Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Reported-by: kernel test robot <lkp@intel.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: linux-mips@vger.kernel.org
---
 arch/mips/boot/compressed/Makefile |    6 ++++++
 1 file changed, 6 insertions(+)

Comments

Arnd Bergmann Nov. 10, 2021, 11:28 a.m. UTC | #1
On Wed, Nov 10, 2021 at 4:09 AM Randy Dunlap <rdunlap@infradead.org> wrote:
>
> For MIPS pre-boot, when CONFIG_KERNEL_ZSTD=y, the decompressor
> function uses __bswapdi2(), so this object file should be added to
> the target object file.
>
> Fixes these build errors:
>
> mips-linux-ld: arch/mips/boot/compressed/decompress.o: in function `xxh64':
> decompress.c:(.text+0x8be0): undefined reference to `__bswapdi2'
> mips-linux-ld: decompress.c:(.text+0x8c78): undefined reference to `__bswapdi2'
> mips-linux-ld: decompress.c:(.text+0x8d04): undefined reference to `__bswapdi2'
> mips-linux-ld: arch/mips/boot/compressed/decompress.o:decompress.c:(.text+0xa010): more undefined references to `__bswapdi2' follow
>
> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
> Reported-by: kernel test robot <lkp@intel.com>
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
> Cc: linux-mips@vger.kernel.org

Thank you for the fix, it looks like I missed it when I patched the xz version.

Acked-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 0652035a5794 ("asm-generic: unaligned: remove byteshift helpers")
Fixes: cddc40f5617e ("mips: always link byteswap helpers into decompressor")

        Arnd
Thomas Bogendoerfer Nov. 10, 2021, 6:48 p.m. UTC | #2
On Tue, Nov 09, 2021 at 07:09:44PM -0800, Randy Dunlap wrote:
> For MIPS pre-boot, when CONFIG_KERNEL_ZSTD=y, the decompressor
> function uses __bswapdi2(), so this object file should be added to
> the target object file.
> 
> Fixes these build errors:
> 
> mips-linux-ld: arch/mips/boot/compressed/decompress.o: in function `xxh64':
> decompress.c:(.text+0x8be0): undefined reference to `__bswapdi2'
> mips-linux-ld: decompress.c:(.text+0x8c78): undefined reference to `__bswapdi2'
> mips-linux-ld: decompress.c:(.text+0x8d04): undefined reference to `__bswapdi2'
> mips-linux-ld: arch/mips/boot/compressed/decompress.o:decompress.c:(.text+0xa010): more undefined references to `__bswapdi2' follow
> 
> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
> Reported-by: kernel test robot <lkp@intel.com>
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
> Cc: linux-mips@vger.kernel.org
> ---
>  arch/mips/boot/compressed/Makefile |    6 ++++++
>  1 file changed, 6 insertions(+)

applied to mips-next.

Thomas.
diff mbox series

Patch

--- linux-next-20211109.orig/arch/mips/boot/compressed/Makefile
+++ linux-next-20211109/arch/mips/boot/compressed/Makefile
@@ -56,6 +56,8 @@  $(obj)/uart-ath79.c: $(srctree)/arch/mip
 
 vmlinuzobjs-$(CONFIG_KERNEL_XZ) += $(obj)/ashldi3.o
 
+vmlinuzobjs-$(CONFIG_KERNEL_ZSTD) += $(obj)/bswapdi.o
+
 extra-y += ashldi3.c
 $(obj)/ashldi3.c: $(obj)/%.c: $(srctree)/lib/%.c FORCE
 	$(call if_changed,shipped)
@@ -64,6 +66,10 @@  extra-y += bswapsi.c
 $(obj)/bswapsi.c: $(obj)/%.c: $(srctree)/arch/mips/lib/%.c FORCE
 	$(call if_changed,shipped)
 
+extra-y += bswapdi.c
+$(obj)/bswapdi.c: $(obj)/%.c: $(srctree)/arch/mips/lib/%.c FORCE
+	$(call if_changed,shipped)
+
 targets := $(notdir $(vmlinuzobjs-y))
 
 targets += vmlinux.bin