Re: drivers/gpu/drm/radeon/radeon_test.c:45: undefined reference to `__udivdi3'

From: Dave Hylands
Date: Sat Dec 19 2009 - 04:13:34 EST


Hi Jim,

On Fri, Dec 18, 2009 at 12:54 PM, Mr. James W. Laferriere
<babydr@xxxxxxxxxxxxxxxx> wrote:
>        Hello Benjamin ,  I am not having a good time compiling 2.6.32.1 .
> First RCU 'inline' difficulties then fusion-mpt 'inline' difficulty ,  Now
> this .
>        This one is not a simple as removing 'inline' from a statement .
>        Would you please look into this ?  Anything else you need please just
> ask .
>        Please cc: me as I am not subscribed to linux-fbdev .
>
>                Tia ,  JimL
>
...snip...
> drivers/built-in.o(.text+0x11345a): In function `radeon_test_moves':
> drivers/gpu/drm/radeon/radeon_test.c:45: undefined reference to `__udivdi3'
> make: *** [.tmp_vmlinux1] Error 1

__udivdi3 is a gcc helper function used to do 64-bit division. This
form of 64-bit division is not supported from within the kernel (which
is why you get the undefined symbol).

There is <asm/div64.h> which contains a macro called do_div which can
perform a 64-bit dvision by a 32-bit divisor.

--
Dave Hylands
Shuswap, BC, Canada
http://www.DaveHylands.com/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/