This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: EP9312 gcc: undefined reference to __divdf3
- From: Wouter van Heyst <wouter at vidicode dot org>
- To: gcc at gcc dot gnu dot org
- Date: Wed, 30 Jun 2004 17:46:27 +0200
- Subject: Re: EP9312 gcc: undefined reference to __divdf3
- References: <20040629092214.GA9700@larstiq.dyndns.org> <1088588729.4991.21.camel@pc960.cambridge.arm.com>
On Wed, Jun 30, 2004 at 10:45:29AM +0100, Richard Earnshaw wrote:
> On Tue, 2004-06-29 at 10:22, Wouter van Heyst wrote:
> > Hello all,
> >
> > I'm running into a problem trying to make a gcc 3.4.0 based toolchain
> > with MaverickCrunch support, during the final linkage of libc.so,
> > several functions turn up undefined references to __divdf3.
>
> This is a bug and you should file it in our bugzilla database:
>
> http://gcc.gnu.org/bugzilla
Waiting for my account details to be mailed, I'll file it later today.
> The problem is that the FPU on this chip does not have a floating point
> divide instruction, so we need to provide one in software. The library
> function that we have (in config/arm/ieee754-df.c) returns values in
> integer registers, but in the configuration you have the compiler would
> expect it to be returned in an FP register; so at this point in time
> there is no benefit to be gained from making it call the library
> function directly.
So that's close to variant 8 (-mfpu=maverick -mfloat-abi=soft+fp) from [1],
except several of the hardware instructions will have to be done in
software too. Am I right that this form of variant 8 will be ABI
compatible with other -mfloat-abi=soft+fp and -mfloat-abi=soft binaries,
but also have hardware support in function bodies for the fpu of my
choice? If so, that would be the optimal situation.
1. http://gcc.gnu.org/ml/gcc-patches/2003-12/msg00642.html
Wouter van Heyst