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, 2014-01-30 at 15:46 -0700, Jim Davis wrote:
> 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.
> 

Applied to target-pending/queue, and including in the next PULL request.

Thanks Jim!

--nab

--
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