lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Fri, 07 Jan 2022 17:31:52 +0000
From:   Paul Cercueil <paul@...pouillou.net>
To:     Nick Terrell <terrelln@...com>
Cc:     kernel test robot <lkp@...el.com>, kbuild-all@...ts.01.org,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        BROADCOM NVRAM DRIVER <linux-mips@...r.kernel.org>
Subject: Re: decompress.c:(.text.FSE_buildDTable_internal+0x2cc): undefined
 reference to `__clzdi2'

Hi Nick,

Le mer., janv. 5 2022 at 20:18:27 +0000, Nick Terrell <terrelln@...com> 
a écrit :
> 
> 
>>  On Jan 5, 2022, at 11:02 AM, kernel test robot <lkp@...el.com> 
>> wrote:
>> 
>>  tree:   
>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
>> master
>>  head:   c9e6606c7fe92b50a02ce51dda82586ebdf99b48
>>  commit: e0c1b49f5b674cca7b10549c53b3791d0bbc90a8 lib: zstd: Upgrade 
>> to latest upstream zstd version 1.4.10
>>  date:   8 weeks ago
>>  config: mips-randconfig-r025-20220105 
>> (https://download.01.org/0day-ci/archive/20220106/202201060233.mO6P39bM-lkp@intel.com/config 
>> )
>>  compiler: mips64el-linux-gcc (GCC) 11.2.0
>>  reproduce (this is a W=1 build):
>>         wget 
>> https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross 
>>  -O ~/bin/make.cross
>>         chmod +x ~/bin/make.cross
>>         # 
>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e0c1b49f5b674cca7b10549c53b3791d0bbc90a8
>>         git remote add linus 
>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>>         git fetch --no-tags linus master
>>         git checkout e0c1b49f5b674cca7b10549c53b3791d0bbc90a8
>>         # save the config file to linux build tree
>>         mkdir build_dir
>>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 
>> make.cross O=build_dir ARCH=mips SHELL=/bin/bash
>> 
>>  If you fix the issue, kindly add following tag as appropriate
>>  Reported-by: kernel test robot <lkp@...el.com>
>> 
>>  All errors (new ones prefixed by >>):
>> 
>>    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'
> 
> These are complaining about usage of __builtin_c{l,t}z(). The code 
> before this change also used
> __builtin_clz(), so this isn't new. E.g. the call in 
> BIT_initDStream() is present before the change,
> it just moved locations. So these errors aren't new.
> 
> This is breaking the MIPS boot code when zstd compressed kernels are 
> enabled, and was
> Introduced in commit a510b61613 [0][1]. The fix is to include the 
> definitions from `lib/clz_ctz.c` [2].
> The same problem was fixed for s390 in this patch [3].
> 
> CC: Paul Cercueil

Thanks, I'll send a patch.

Cheers,
-Paul


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ