all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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

  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

* 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 external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.