From: Mark H Weaver <mhw@netris.org>
To: John Darrington <john@darrington.wattle.id.au>
Cc: guix-devel@gnu.org
Subject: Re: Preliminary 'wip-armhf' branch pushed
Date: Thu, 01 Jan 2015 02:11:19 -0500 [thread overview]
Message-ID: <87oaqj5620.fsf@netris.org> (raw)
In-Reply-To: <20150101061436.GA3785@intra> (John Darrington's message of "Thu, 1 Jan 2015 07:14:36 +0100")
John Darrington <john@darrington.wattle.id.au> 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.
> * 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:
--8<---------------cut here---------------start------------->8---
#include <math.h>
double foo (double a, double b)
{
return sinh(a * b);
}
--8<---------------cut here---------------end--------------->8---
Compiled with "/gnu/store/.../bin/gcc -O2 -S foo.c", here's the
resulting foo.s:
--8<---------------cut here---------------start------------->8---
.syntax unified
.arch armv7-a
.eabi_attribute 27, 3
.eabi_attribute 28, 1
.fpu vfpv3-d16
.eabi_attribute 20, 1
.eabi_attribute 21, 1
.eabi_attribute 23, 3
.eabi_attribute 24, 1
.eabi_attribute 25, 1
.eabi_attribute 26, 2
.eabi_attribute 30, 2
.eabi_attribute 34, 1
.eabi_attribute 18, 4
.thumb
.file "foo.c"
.text
.align 2
.global foo
.thumb
.thumb_func
.type foo, %function
foo:
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
fmuld d0, d0, d1
b sinh
.size foo, .-foo
.ident "GCC: (GNU) 4.8.4"
.section .note.GNU-stack,"",%progbits
--8<---------------cut here---------------end--------------->8---
'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?
Mark
next prev parent reply other threads:[~2015-01-01 7:11 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-31 17:31 Preliminary 'wip-armhf' branch pushed Mark H Weaver
2014-12-31 17:47 ` John Darrington
2014-12-31 19:23 ` Mark H Weaver
2014-12-31 20:20 ` John Darrington
2014-12-31 23:40 ` Mark H Weaver
2015-01-01 6:14 ` John Darrington
2015-01-01 7:11 ` Mark H Weaver [this message]
2015-01-01 7:24 ` John Darrington
2015-01-01 18:22 ` Mark H Weaver
2015-01-01 19:04 ` John Darrington
2015-01-02 20:48 ` Ludovic Courtès
2015-01-02 22:07 ` Mark H Weaver
2015-01-03 19:07 ` Ludovic Courtès
2014-12-31 22:24 ` Mark H Weaver
2014-12-31 22:55 ` Mark H Weaver
2015-01-01 18:53 ` Problem with natively-built armhf bootstrap compiler Mark H Weaver
2015-01-02 2:19 ` Mark H Weaver
2015-01-02 4:56 ` Mark H Weaver
2015-01-02 21:06 ` Ludovic Courtès
2015-01-03 18:37 ` Mark H Weaver
2015-01-07 13:15 ` Ludovic Courtès
2015-01-07 15:15 ` Mark H Weaver
2015-01-07 15:30 ` [PATCH] gnu: gcc-static: Remove -lgcc_s from GNU_USER_TARGET_LIB_SPEC Mark H Weaver
2015-01-07 17:15 ` Ludovic Courtès
2015-01-02 20:45 ` Preliminary 'wip-armhf' branch pushed Ludovic Courtès
2015-01-03 18:49 ` Mark H Weaver
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87oaqj5620.fsf@netris.org \
--to=mhw@netris.org \
--cc=guix-devel@gnu.org \
--cc=john@darrington.wattle.id.au \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).