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