Re: [PATCH] mips: always link byteswap helpers into decompressor

From: Thomas Bogendoerfer
Date: Mon Jul 05 2021 - 11:09:38 EST


On Fri, Jul 02, 2021 at 04:28:37PM +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> My series to clean up the unaligned access implementation
> across architectures caused some mips randconfig builds to
> fail with:
>
> mips64-linux-ld: arch/mips/boot/compressed/decompress.o: in function `decompress_kernel':
> decompress.c:(.text.decompress_kernel+0x54): undefined reference to `__bswapsi2'
>
> It turns out that this problem has already been fixed for the XZ
> decompressor but now it also shows up in (at least) LZO and LZ4. From my
> analysis I concluded that the compiler could always have emitted those
> calls, but the different implementation allowed it to make otherwise
> better decisions about not inlining the byteswap, which results in the
> link error when the out-of-line code is missing.
>
> While it could be addressed by adding it to the two decompressor
> implementations that are known to be affected, but as this only adds
> 112 bytes to the kernel, the safer choice is to always add them.
>
> Fixes: c50ec6787536 ("MIPS: zboot: Fix the build with XZ compression on older GCC versions")
> Fixes: 0652035a5794 ("asm-generic: unaligned: remove byteshift helpers")
> Link: https://lore.kernel.org/linux-mm/202106301304.gz2wVY9w-lkp@xxxxxxxxx/
> Link: https://lore.kernel.org/linux-mm/202106260659.TyMe8mjr-lkp@xxxxxxxxx/
> Link: https://lore.kernel.org/linux-mm/202106172016.onWT6Tza-lkp@xxxxxxxxx/
> Link: https://lore.kernel.org/linux-mm/202105231743.JJcALnhS-lkp@xxxxxxxxx/
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> arch/mips/boot/compressed/Makefile | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)

applied to mips-next (for second pull request).

Thomas.

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