Hi Dan, On Thu, Jul 20, 2017 at 1:37 PM, Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote: > On Thu, Jul 20, 2017 at 01:23:05PM +0200, Marcus Wolf wrote: >> below you can see the report with the error on m68k. It was sent to me from a >> test robot of intel. >> >> According to my research, this problem occured, because there is no hardware >> support for floating point on the m68k (or it was configured not to use it). >> Therefore gcc uses an internal function, provided by libgcc. Obviously libgcc >> wasn't linked... >> >> I don't know how to come arround this problem by modifying my code (except >> reducing the accuracy of the calculation by not using floating point). > > I don't see any floating point? You're not allowed to use floating > point in the kernel. Indeed. __udivdi3 is used for 64-bit by 32-bit division. >> Can we ignore the error or can I do something else? >> Maybe a special include just in case of m68k can help??!? >> I don't have an environment for building m68k. https://www.kernel.org/pub/tools/crosstool/ > I think the answer is to use div_u64() and div64_u64 instead of > do_div()? do_div() is fine The link error is not caused by do_div(), but by not using do_div() where needed. > Or you could just add a depend in the Kconfig. Depend on what? !M68K? It's gonna fail on several 32-bit platforms. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel