__divdi3 unresolved + X pointer blocks
David Edelsohn
dje at watson.ibm.com
Thu Jul 5 08:22:45 EST 2001
>>>>> 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 divisions
Jean-Jacques> by 512 by >> 9. The error disapeared.
Jean-Jacques> Either gcc-3.0 has a bug, either there is a missing module to
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.
David
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-dev
mailing list