All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jarkko Nikula <jarkko.nikula@linux.intel.com>
To: William Breathitt Gray <vilhelm.gray@gmail.com>,
	Jonathan Cameron <Jonathan.Cameron@Huawei.com>
Cc: kernel test robot <lkp@intel.com>,
	llvm@lists.linux.dev, kbuild-all@lists.01.org,
	linux-kernel@vger.kernel.org,
	David Lechner <david@lechnology.com>,
	Fabrice Gasnier <fabrice.gasnier@foss.st.com>
Subject: Re: [iio:testing 40/43] ld.lld: error: undefined symbol: __udivdi3
Date: Fri, 17 Sep 2021 15:58:53 +0300	[thread overview]
Message-ID: <6fade104-0f00-3ebf-827c-8f6d830d4ac5@linux.intel.com> (raw)
In-Reply-To: <YUCpDDkNSqhlaThq@shinobu>

On 9/14/21 4:52 PM, William Breathitt Gray wrote:
> On Tue, Sep 14, 2021 at 01:41:03PM +0100, Jonathan Cameron wrote:
>> On Sun, 12 Sep 2021 06:43:58 +0800
>> kernel test robot <lkp@intel.com> wrote:
>>
>>> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git testing
>>> head:   77a4a019161bcba51af1dbbeadc04795840fb3e0
>>> commit: f7da4339ca510e4476ea35cb9fd44f3f190706c5 [40/43] counter: Internalize sysfs interface code
>>> config: i386-randconfig-r022-20210911 (attached as .config)
>>> compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 261cbe98c38f8c1ee1a482fe76511110e790f58a)
>>> 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/jic23/iio.git/commit/?id=f7da4339ca510e4476ea35cb9fd44f3f190706c5
>>>          git remote add iio https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git
>>>          git fetch --no-tags iio testing
>>>          git checkout f7da4339ca510e4476ea35cb9fd44f3f190706c5
>>>          # save the attached .config to linux build tree
>>>          mkdir build_dir
>>>          COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross O=build_dir ARCH=i386 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 >>):
>>>
>>>>> ld.lld: error: undefined symbol: __udivdi3
>>>     >>> referenced by intel-qep.c:290 (drivers/counter/intel-qep.c:290)
>>>     >>>               counter/intel-qep.o:(intel_qep_spike_filter_ns_write) in archive drivers/built-in.a
>> This is a result of a change to passing in a u64 instead of a string.   I've applied a fix
>> that uses do_div() and pushed out as testing again.
>>
>> William, please sanity check that fix looks right to you.
>>
>> Thanks,
>>
>> Jonathan
> 
> Your do_div() change seems sane to me; would div_u64_rem() work here as
> well, or is do_div preferred because we're not using the remainder?
> 
> I'm CCing Jarkko Nikula as well to keep them in the loop.
> 
Yeah I believe do_div() is the right fix for the "counter: Internalize 
sysfs interface code" since the calculation remains the same.

I realized now the filter length has been rounded down. E.g. values 
20-29 from user space set 20 ns long filter in HW. Perhaps better would 
be to round up or to nearest but that goes to some future patch if needed.

Jarkko

WARNING: multiple messages have this Message-ID (diff)
From: Jarkko Nikula <jarkko.nikula@linux.intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [iio:testing 40/43] ld.lld: error: undefined symbol: __udivdi3
Date: Fri, 17 Sep 2021 15:58:53 +0300	[thread overview]
Message-ID: <6fade104-0f00-3ebf-827c-8f6d830d4ac5@linux.intel.com> (raw)
In-Reply-To: <YUCpDDkNSqhlaThq@shinobu>

[-- Attachment #1: Type: text/plain, Size: 2612 bytes --]

On 9/14/21 4:52 PM, William Breathitt Gray wrote:
> On Tue, Sep 14, 2021 at 01:41:03PM +0100, Jonathan Cameron wrote:
>> On Sun, 12 Sep 2021 06:43:58 +0800
>> kernel test robot <lkp@intel.com> wrote:
>>
>>> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git testing
>>> head:   77a4a019161bcba51af1dbbeadc04795840fb3e0
>>> commit: f7da4339ca510e4476ea35cb9fd44f3f190706c5 [40/43] counter: Internalize sysfs interface code
>>> config: i386-randconfig-r022-20210911 (attached as .config)
>>> compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 261cbe98c38f8c1ee1a482fe76511110e790f58a)
>>> 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/jic23/iio.git/commit/?id=f7da4339ca510e4476ea35cb9fd44f3f190706c5
>>>          git remote add iio https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git
>>>          git fetch --no-tags iio testing
>>>          git checkout f7da4339ca510e4476ea35cb9fd44f3f190706c5
>>>          # save the attached .config to linux build tree
>>>          mkdir build_dir
>>>          COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross O=build_dir ARCH=i386 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 >>):
>>>
>>>>> ld.lld: error: undefined symbol: __udivdi3
>>>     >>> referenced by intel-qep.c:290 (drivers/counter/intel-qep.c:290)
>>>     >>>               counter/intel-qep.o:(intel_qep_spike_filter_ns_write) in archive drivers/built-in.a
>> This is a result of a change to passing in a u64 instead of a string.   I've applied a fix
>> that uses do_div() and pushed out as testing again.
>>
>> William, please sanity check that fix looks right to you.
>>
>> Thanks,
>>
>> Jonathan
> 
> Your do_div() change seems sane to me; would div_u64_rem() work here as
> well, or is do_div preferred because we're not using the remainder?
> 
> I'm CCing Jarkko Nikula as well to keep them in the loop.
> 
Yeah I believe do_div() is the right fix for the "counter: Internalize 
sysfs interface code" since the calculation remains the same.

I realized now the filter length has been rounded down. E.g. values 
20-29 from user space set 20 ns long filter in HW. Perhaps better would 
be to round up or to nearest but that goes to some future patch if needed.

Jarkko

  reply	other threads:[~2021-09-17 12:58 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-11 22:43 [iio:testing 40/43] ld.lld: error: undefined symbol: __udivdi3 kernel test robot
2021-09-11 22:43 ` kernel test robot
2021-09-14 12:41 ` Jonathan Cameron
2021-09-14 12:41   ` Jonathan Cameron
2021-09-14 13:52   ` William Breathitt Gray
2021-09-14 13:52     ` William Breathitt Gray
2021-09-17 12:58     ` Jarkko Nikula [this message]
2021-09-17 12:58       ` Jarkko Nikula

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=6fade104-0f00-3ebf-827c-8f6d830d4ac5@linux.intel.com \
    --to=jarkko.nikula@linux.intel.com \
    --cc=Jonathan.Cameron@Huawei.com \
    --cc=david@lechnology.com \
    --cc=fabrice.gasnier@foss.st.com \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkp@intel.com \
    --cc=llvm@lists.linux.dev \
    --cc=vilhelm.gray@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.