Re: Division involving u64 : undefined reference to __udivdi3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Feb 12, 2009 at 7:59 AM, Daniel Widyanto
<daniel.widyanto@xxxxxxxxxxxx> wrote:
> Hi,
>
> If I'm not mistaken, there were several reports on Ubuntu forum
> regarding kernel vs GCC version compatibility. The error was same as
> yours: fail at __udivdi3 (and several floating point functions) linking
> stage. Maybe that's the real issue.
>

Thanks for pointing that out. Upon going through those posts I found
that the problem is with gcc v4.3 but mine is gcc v4.2.4.


> Try to rebuilt/recompile your kernel with your current GCC (without your
> module). See whether the kernel can compile cleanly or fail during the
> linking stage.

I should try that out.


> Regarding division, the floating point division needs the FPU (which may
> not be used during the kernel mode - The reason why previous author
> suggest you to avoid floating point operation) . Or soft-floating point
> library (assuming it's configured and compiled in the kernel source
> tree)
>

yes i was aware of that, but there are no issues with integer
division. And I was trying that only. I had checked this thing works
by building a module (unfortunately, at that time I didn't tried u64
division).
If I am not wrong, the do_div macro (defined in
arch/x86/include/asm/div64.h) precisely does the same.
If that is what you meant by "soft-floating point" library, please
pardon my ignorance.



Thanks and Regards
Sukanto Ghosh

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux