From: Paul Cercueil <paul@crapouillou.net>
To: Nick Terrell <terrelln@fb.com>
Cc: kernel test robot <lkp@intel.com>,
kbuild-all@lists.01.org,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
BROADCOM NVRAM DRIVER <linux-mips@vger.kernel.org>
Subject: Re: decompress.c:(.text.FSE_buildDTable_internal+0x2cc): undefined reference to `__clzdi2'
Date: Fri, 07 Jan 2022 17:31:52 +0000 [thread overview]
Message-ID: <4POC5R.OFCAH4UODPNE2@crapouillou.net> (raw)
In-Reply-To: <AAD37797-0EC4-47FC-939E-F855F2E9954C@fb.com>
Hi Nick,
Le mer., janv. 5 2022 at 20:18:27 +0000, Nick Terrell <terrelln@fb.com>
a écrit :
>
>
>> On Jan 5, 2022, at 11:02 AM, kernel test robot <lkp@intel.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@intel.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
prev parent reply other threads:[~2022-01-07 17:32 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-05 19:02 kernel test robot
2022-01-05 20:18 ` Nick Terrell
2022-01-07 17:31 ` Paul Cercueil [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4POC5R.OFCAH4UODPNE2@crapouillou.net \
--to=paul@crapouillou.net \
--cc=kbuild-all@lists.01.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@vger.kernel.org \
--cc=lkp@intel.com \
--cc=terrelln@fb.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome