This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: EP9312 gcc: undefined reference to __divdf3


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]