On Wednesday 07 October 2015 20:46:23 Ksenija Stanojević wrote:
> On Sun, Oct 4, 2015 at 9:34 PM, Arnd Bergmann <[email protected]> wrote:
> > On Saturday 03 October 2015 21:15:46 Ksenija Stanojević wrote:
> >> On Thu, Oct 1, 2015 at 10:05 PM, Arnd Bergmann <[email protected]> wrote:
> >> > On Thursday 01 October 2015 19:44:46 Ksenija Stanojević wrote:
> >> >>
> >> >> In my local repository I modified my .config file so that CONFIG_64BIT
> >> >> is not set,
> >> >> and after that I recompiled all directory, but I don't get any 
> >> >> errors/warning at
> >> >> compile-time.
> >> >> Also I separetly compiled this specific file but still no warnings
> >> >> My .config  looks something like this:
> >> >>
> >> >> . . .
> >> >>
> >> >> Should I change my working kernel or .config file is just enough?
> >> >
> >> > I think the problem is that you only compiled that directory but did
> >> > not attempt to do a full rebuild of the kernel and modules, which is
> >> > required to catch link-time errors.
> >> >
> >> > The compiler does not know at this point that the 64-bit division 
> >> > function
> >> > is undefined in the kernel, you only get a warning at the 'make vmlinux'
> >> > link stage (for built-in drivers) or the 'make modules' modpost stage
> >> > afterwards.
> >>
> >> I rebuilded my repository with:
> >> make vmlinux
> >> make modules
> >> but I still don't get any warnings.
> >> Do you have any other suggestion on what I'm doing wrong?
> >
> > I just tried it on my machine and I get (for an ARM build)
> >
> > $ make -skj30
> > ERROR: "__aeabi_ldivmod" [drivers/staging/fbtft/fbtft.ko] undefined!
> 
> I got this error:
> ERROR: "__divdi3" [drivers/staging/fbtft/fbtft.ko] undefined!
> 
> I suppose that divdi3 is division used for long long by gcc on x86

Correct, this function name is architecture specific. These
functions (__divdi3, __aeabi_ldivmod, ...) are intentionally not
part of the kernel image so force kernel developers to either
use the div_u64() family of functions for division or find a way
to avoid it, which is usually preferred but not always possible.

        Arnd
_______________________________________________
Y2038 mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/y2038

Reply via email to