[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Preliminary 'wip-armhf' branch pushed
From: |
John Darrington |
Subject: |
Re: Preliminary 'wip-armhf' branch pushed |
Date: |
Thu, 1 Jan 2015 08:24:10 +0100 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Thu, Jan 01, 2015 at 02:11:19AM -0500, Mark H Weaver wrote:
John Darrington <address@hidden> writes:
> On Wed, Dec 31, 2014 at 06:40:23PM -0500, Mark H Weaver wrote:
>
> * You added "CFLAGS=-Wno-cast-qual" and "--disable-werror" for ARM
in
> 'gcc-configure-flags-for-triplet', which I thought was a bad idea
and
> didn't belong there.
>
> Have you tried actually building GCC ?
Yes, I've built several GCCs including gcc-final. I've also
successfully built the 'hello' package.
> I found that without those, it failed to build.
Perhaps the problem you ran into was fixed in GCC 4.8.4.
Yeah possibly.
> * You patched gcc/config/arm/linux-eabi.h unnecessarily.
>
> Without that patch, GCC actually builds soft-float code, even though
> you may have passed the --with-float=hard flag. What bits of that
> patch do you think are not necessary?
All of it seems to be unnecessary, by experiment. I've used the
resulting GCC to compile the following test program:
'foo' accepts the double arguments via registers and passes a double to
sinh via registers. I also checked a variant that simply returned a*b,
and it was clearly returning the result via register as well.
I think it's quite clear that this is using the hard-float ABI, no?
My results showed that simple binaries like that compiled (and ran) ok. The
problems arose when linking with
bigger projects. I don't recall the details. Have you tried building libc? I
suspect that is where the patch
will be needed.
J'
--
PGP Public key ID: 1024D/2DE827B3
fingerprint = 8797 A26D 0854 2EAB 0285 A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.
signature.asc
Description: Digital signature