__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