This is the mail archive of the gcc-patches@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: [3.4 patch] Fix PR16314, undefined reference to `__subdf3' forarm-softfloat



On Tue, 31 Aug 2004, Daniel Jacobowitz wrote:


On Tue, Aug 31, 2004 at 04:55:15PM +0300, Vladimir Ivanov wrote:
Yes, it works, although not exactly in the official gcc 3.4.x (but that's
because of other things).
Due to using multilibs, when "-mcpu=ep9312" is specified a version of
divdf3 is used which returns result in FP register. So, for me the
multilib approach solves this problem - I can have arm-linux compiler
which produces hard-float, soft-float and crunch (ep9312) code, together
with appropriate libgcc.

And where do you get this magical version of divdf3 from? The version normally in ARM libgcc comes from ieee754-df.S, is written in assembly, and does not support returning in other registers.

In a patch we did - that's why I wrote "not exactly in the official gcc 3.4.x". It goes with this modification to the end of lib1funcs.asm:


#ifdef __MAVERICK__
#include "ieee754-df-crunch.S"
#include "ieee754-sf-crunch.S"
#else
#include "ieee754-df.S"
#include "ieee754-sf.S"
#endif

The two new files "ieee754-[s|d]f-crunch.S" take care of returning values
in FP register. Only div[s|d]f3 are present, no need of others for Crunch.

What I've been asking was connected to TARGET_LIBGCC2_CFLAGS - is there a
way to put specific options per multilib. And also, does someone know how

I don't think there's a mechanism for it. It seems reasonable to do to me, though, so maybe one would be accepted.

to link against different glibc's based on the multilib options (but
that's perhaps slightly [OT]).

MULTI_OSDIRNAMES.

Is this present in 3.4.x? Recursive grep in gcc tree and Google both don't show anything.


-- Vladimir


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