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

From: Mr. James W. Laferriere
Date: Sat Dec 19 2009 - 20:02:37 EST


Hello Dave ,

On Sat, 19 Dec 2009, Dave Hylands wrote:
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.
Thank you , For replying . Now I being a kernel level nothing , How does this help me get past the 'ld' time undefined reference ? So we can have a kernel build complete (hopefully) successfully .

I've another ? as well how is it that the drm/radeon_test.c is using (well at least referencing) a non-kernel symbol ? That alone is rather interesting .

But all I had to do is Disable DRM in the kernel . Since this system is a remote device without a real need for DRI/DRM support that should cure my problem . But someone else is going to need that support & I am sure they'll hit that same bug .

Tia , JimL
--
+------------------------------------------------------------------+
| James W. Laferriere | System Techniques | Give me VMS |
| Network&System Engineer | 3237 Holden Road | Give me Linux |
| babydr@xxxxxxxxxxxxxxxx | Fairbanks, AK. 99709 | only on AXP |
+------------------------------------------------------------------+