__divdi3 unresolved + X pointer blocks
k_fukui at highway.ne.jp
Thu Jul 5 08:24:47 EST 2001
From: David Edelsohn <dje at watson.ibm.com>
To: Jean-Jacques.Levy at inria.fr
Subject: Re: __divdi3 unresolved + X pointer blocks
Date: Wed, 04 Jul 2001 18:22:45 -0400
cc: k_fukui at highway.ne.jp, linuxppc-dev at lists.linuxppc.org
> >>>>> Jean-Jacques Levy writes:
> Jean-Jacques> I installed gcc-3.0 release, and remained with my undefined
> Jean-Jacques> __divdi3. Then I patched inode.c in fs/fat and replaced two
> Jean-Jacques> by 512 by >> 9. The error disapeared.
> Jean-Jacques> Either gcc-3.0 has a bug, either there is a missing module
> Jean-Jacques> implement long divisions (by 512!) in fs/fat.o
> It might be that GCC is not optimizing this division as strongly
> as it should. __divdi3 is a 64-bit signed divide. A signed divide is not
> the same as a shift. Maybe the 64-bit variable is not declared as
> unsigned when it should be?
> The Linux kernel does not link against libgcc.a, so any GCC
> support routines (such as __divdi3) need to be provided explicitly.
I could compile kernel-2.4.6 using gcc-3.0.1pre without this problem.
So I will upload kernel-2.4.6 the makelog and gcc-3.0.1, later.
Let you know when I will upload the package done for JJ.
I believe that gcc-3.0 also be able to compile the kernel with no problem.
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-dev