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 02:12:16PM +0300, Vladimir Ivanov wrote:

On Tue, 31 Aug 2004, Richard Earnshaw wrote:


On Tue, 2004-08-31 at 11:25, Vladimir Ivanov wrote:
What about defining more targets, like "t-linux-crunch" and
"t-linux-softfp"? This could solve some of the current ABI differences.

Not really. I suspect folks really want a single compiler that supports both hard and soft float. Separate t-* files only come into play with separate configurations of the compiler. Besides that it becomes a maintenance nightmare.

Then we're back to the single "t-linux". Here's what I've been using:

LIB1ASMSRC = arm/lib1funcs.asm
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \
	_negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi
	\
	_truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
	_fixsfsi _fixunssfsi

So, let's think about Richard's point. Does the -mcpu=ep9312 version _work_? It probably doesn't - calls to divdf3 will always return using the soft float convention and the compiler would expect them to return using the Crunch registers.

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.


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 to link against different glibc's based on the multilib options (but that's perhaps slightly [OT]).

Hopefully we can support using the soft-float ABI for libcalls soon.

That's a different story.


-- Vladimir


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