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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 ]



[Index of Archives]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux