Re: __divdi3 unresolved + X pointer blocks
From: David Edelsohn <hidden>
Date: 2001-07-04 22:22:45
quoted
quoted
quoted
quoted
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/