Re: randconfig build error with next-20131218, in drivers/target/target_core_alua.c

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

 



On Thu, Jan 30, 2014 at 2:55 PM, Nicholas A. Bellinger
<nab@xxxxxxxxxxxxxxx> wrote:
> Hi Jim,
>
> On Thu, 2014-01-30 at 10:32 -0700, Jim Davis wrote:
>> On Wed, Dec 18, 2013 at 5:00 PM, Nicholas A. Bellinger
>> <nab@xxxxxxxxxxxxxxx> wrote:
>> > Hi Jim,
>> >
>> > On Wed, 2013-12-18 at 06:45 -0700, Jim Davis wrote:
>> >> Building with the attached random configuration file,
>> >>
>> >>   LD      init/built-in.o
>> >> drivers/built-in.o: In function `core_alua_state_lba_dependent':
>> >> /home/jim/linux/drivers/target/target_core_alua.c:492: undefined
>> >> reference to `__umoddi3'
>> >> make: *** [vmlinux] Error 1
>> >
>> > Thanks for the heads up.  A patch for this has been merged into the
>> > original, and will be appearing in today's (12192013) linux-next tree.
>>
>> I'm continuing to see this (and a similar error) in next-  for some
>> days now; today for instance
>>
>> buildlog-1391099072.txt-drivers/built-in.o: In function `target_alua_state_check':
>> buildlog-1391099072.txt-(.text+0x928d93): undefined reference to `__umoddi3'
>> buildlog-1391099072.txt:make: *** [vmlinux] Error 1
>> --
>> buildlog-1391101753.txt-  CC      init/version.o
>> buildlog-1391101753.txt-  LD      init/built-in.o
>> buildlog-1391101753.txt-drivers/built-in.o: In function `core_alua_state_lba_dependent':
>> buildlog-1391101753.txt-/home/jim/linux/drivers/target/target_core_alua.c:503: undefined reference to `__umoddi3'
>> buildlog-1391101753.txt:make: *** [vmlinux] Error 1
>>
>> jim@krebstar:~$ (cd linux; git describe)
>> next-20140130
>
> Mmm, I assume this is compiled on 32-bit without CONFIG_LBDAF=y, yes..?

That's correct.

>
> The sector_div() macro expands to the following in
> include/linux/kernel.h:
>
> #ifdef CONFIG_LBDAF
> # include <asm/div64.h>
> # define sector_div(a, b) do_div(a, b)
> #else
> # define sector_div(n, b)( \
> { \
>         int _res; \
>         _res = (n) % (b); \
>         (n) /= (b); \
>         _res; \
> } \
> )
> #endif
>
> Your likely hitting the latter case, which AFAICT is bogus to use on
> 32-bit without CONFIG_LBDAF=y set..  Not sure why other uses of
> sector_div() aren't having the same problem on your config..!?
>
> Regardless, this should be using do_div() instead.  Care to build test
> the following patch..?

With the patch, next-20140130 built just fine using a config file that
had failed before.

Jim
--
To unsubscribe from this list: send the line "unsubscribe target-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux SCSI]     [Kernel Newbies]     [Linux SCSI Target Infrastructure]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Device Mapper]

  Powered by Linux