public inbox for crossgcc@sourceware.org
 help / color / mirror / Atom feed
* Configuration advice, specifically for arm-cortex-a8
@ 2015-02-02 22:03 Erik Leunissen
  2015-02-02 22:48 ` Erik Leunissen
  2015-02-04 18:35 ` Erik Leunissen
  0 siblings, 2 replies; 6+ messages in thread
From: Erik Leunissen @ 2015-02-02 22:03 UTC (permalink / raw)
  To: crossgcc

Hi all,

First off: I'm new to ct-ng, and my experience with cross-compiling is 
limited to crossing operating systems and almost non-existent with 
crossing architectures.

My need is to produce a toolchain that runs on a x86_64-linux desktop 
(openSuSE) and produces binaries for the beagle-bone-black, which has a 
Sitara AM3358 ARM Cortex-A8 Microprocessor.

I already ran ct-ng-1.20 with two different configurations and the 
toolchains were produced without a single hickup, great automation!

Now, after this first exercise, I'm left with a generic question: I'd 
like to keep my toolchain as configurable as possible. What features are 
to be configured by ct-ng and which do I need to leave as configurable 
through gcc invocation options? Two specific cases:

Case 1: the floating point processing mode
==========================================
I can set a configuration option in ct-ng as:
- hardware
- software
- auto (leave to gcc)
- softftp

I experimented with both "hardware" and "leave to gcc", because of the 
NEON floating-point accelerator, advertised here:

     http://beagleboard.org/BLACK

Whatever choice I make: the resulting toolchains fail if I invoke gcc 
with the option:

     -mfloat-abi=hard

  However, the option

     -mfpu=neon

doesn't raise any errors.

That surprises me. Doesn't "NEON floating-point accelerator" imply 
hardware floating point? See also:

 
http://www.eliteraspberries.com/blog/2013/09/cflags-for-numerical-computing-on-the-beaglebone-black.html)

What am I missing?


Case 2: the cpu
===============
This is a arm-cortex-a8, specifically Sitara AM3358 ARM Cortex-A8.
What are the pro's and con's of configuring this in ct-ng (with the 
option category "Target optimisations") and leaving it as configurable 
at the gcc command line, using:

     $prefix-gcc -march=armv7-a -mcpu=cortex-a8 -mtune=cortex-a8



Thanks for sharing any insights,

Erik Leunissen
--

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Configuration advice, specifically for arm-cortex-a8
  2015-02-02 22:03 Configuration advice, specifically for arm-cortex-a8 Erik Leunissen
@ 2015-02-02 22:48 ` Erik Leunissen
  2015-02-02 23:49   ` Bryan Hundven
  2015-02-04 18:35 ` Erik Leunissen
  1 sibling, 1 reply; 6+ messages in thread
From: Erik Leunissen @ 2015-02-02 22:48 UTC (permalink / raw)
  To: crossgcc

On 02/02/15 23:02, Erik Leunissen wrote:

> ...
> Whatever choice I make: the resulting toolchains fail if I invoke gcc
> with the option:
>
>      -mfloat-abi=hard
>

Uhmmm, the error message is:

/opt/toolchains/arm-none-linux-gnueabi/arm-none-linux-gnueabi/sysroot/usr/include/gnu/stubs.h:10:29: 
fatal error: gnu/stubs-hard.h: No such file or directory
  # include <gnu/stubs-hard.h>
                              ^

So, where I suspected an intrinsic incompatibility amongst compiler 
options, it's merely a case of a missing file.

However, I still don't understand why that file is not needed when using 
only -mfpu=neon


Greetings,

Erik.


>   However, the option
>
>      -mfpu=neon
>
> doesn't raise any errors.
>
> That surprises me. Doesn't "NEON floating-point accelerator" imply
> hardware floating point? See also:
>
>
> http://www.eliteraspberries.com/blog/2013/09/cflags-for-numerical-computing-on-the-beaglebone-black.html)
>
>
> What am I missing?
>
>
> Case 2: the cpu
> ===============
> This is a arm-cortex-a8, specifically Sitara AM3358 ARM Cortex-A8.
> What are the pro's and con's of configuring this in ct-ng (with the
> option category "Target optimisations") and leaving it as configurable
> at the gcc command line, using:
>
>      $prefix-gcc -march=armv7-a -mcpu=cortex-a8 -mtune=cortex-a8
>
>
>
> Thanks for sharing any insights,
>
> Erik Leunissen
> --
>
> --
> For unsubscribe information see http://sourceware.org/lists.html#faq
>


--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Configuration advice, specifically for arm-cortex-a8
  2015-02-02 22:48 ` Erik Leunissen
@ 2015-02-02 23:49   ` Bryan Hundven
  2015-02-04 17:51     ` Erik Leunissen
  0 siblings, 1 reply; 6+ messages in thread
From: Bryan Hundven @ 2015-02-02 23:49 UTC (permalink / raw)
  To: Erik Leunissen; +Cc: crossgcc maillist

Erik,

On Mon, Feb 2, 2015 at 2:48 PM, Erik Leunissen <elns@xs4all.nl> wrote:
> On 02/02/15 23:02, Erik Leunissen wrote:
>
>> ...
>> Whatever choice I make: the resulting toolchains fail if I invoke gcc
>> with the option:
>>
>>      -mfloat-abi=hard
>>
>
> Uhmmm, the error message is:
>
> /opt/toolchains/arm-none-linux-gnueabi/arm-none-linux-gnueabi/sysroot/usr/include/gnu/stubs.h:10:29:
> fatal error: gnu/stubs-hard.h: No such file or directory
>  # include <gnu/stubs-hard.h>
>                              ^
>
> So, where I suspected an intrinsic incompatibility amongst compiler options,
> it's merely a case of a missing file.
>
> However, I still don't understand why that file is not needed when using
> only -mfpu=neon

I'm guessing you are using the 1.20.0 release and not using
crosstool-NG from git?

We're getting close to doing a 1.20.1 release, and I know some
hard-float items have been fixed since 1.20.0.

     git clone https://github.com/crosstool-ng/crosstool-ng
     ./bootstrap
     ./configure ...--options...

Cheers,

-Bryan

>
> Greetings,
>
> Erik.
>
>
>
>>   However, the option
>>
>>      -mfpu=neon
>>
>> doesn't raise any errors.
>>
>> That surprises me. Doesn't "NEON floating-point accelerator" imply
>> hardware floating point? See also:
>>
>>
>>
>> http://www.eliteraspberries.com/blog/2013/09/cflags-for-numerical-computing-on-the-beaglebone-black.html)
>>
>>
>> What am I missing?
>>
>>
>> Case 2: the cpu
>> ===============
>> This is a arm-cortex-a8, specifically Sitara AM3358 ARM Cortex-A8.
>> What are the pro's and con's of configuring this in ct-ng (with the
>> option category "Target optimisations") and leaving it as configurable
>> at the gcc command line, using:
>>
>>      $prefix-gcc -march=armv7-a -mcpu=cortex-a8 -mtune=cortex-a8
>>
>>
>>
>> Thanks for sharing any insights,
>>
>> Erik Leunissen
>> --
>>
>> --
>> For unsubscribe information see http://sourceware.org/lists.html#faq
>>
>
>
> --
> For unsubscribe information see http://sourceware.org/lists.html#faq
>

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Configuration advice, specifically for arm-cortex-a8
  2015-02-02 23:49   ` Bryan Hundven
@ 2015-02-04 17:51     ` Erik Leunissen
  2015-02-21 11:27       ` Erik Leunissen
  0 siblings, 1 reply; 6+ messages in thread
From: Erik Leunissen @ 2015-02-04 17:51 UTC (permalink / raw)
  To: crossgcc

On 03/02/15 00:49, Bryan Hundven wrote:
>
> I'm guessing you are using the 1.20.0 release and not using
> crosstool-NG from git?
>

True.

> We're getting close to doing a 1.20.1 release, and I know some
> hard-float items have been fixed since 1.20.0.
>
>       git clone https://github.com/crosstool-ng/crosstool-ng
>       ./bootstrap
>       ./configure ...--options...
>

I'll have a look at this pre-release.

Thanks for your reaction,

Erik.

--

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Configuration advice, specifically for arm-cortex-a8
  2015-02-02 22:03 Configuration advice, specifically for arm-cortex-a8 Erik Leunissen
  2015-02-02 22:48 ` Erik Leunissen
@ 2015-02-04 18:35 ` Erik Leunissen
  1 sibling, 0 replies; 6+ messages in thread
From: Erik Leunissen @ 2015-02-04 18:35 UTC (permalink / raw)
  To: crossgcc

On 02/02/15 23:02, Erik Leunissen wrote:
>
> I experimented with both "hardware" and "leave to gcc", because of the
> NEON floating-point accelerator, advertised here:
>
>      http://beagleboard.org/BLACK
>
> Whatever choice I make: the resulting toolchains fail if I invoke gcc
> with the option:
>
>      -mfloat-abi=hard
>

The native gcc on the beagle bone black[*], does not complain on:

     gcc -mfloat-abi=hard -mfpu=neon


So I expected to find a header file "stubs-hard.h" somewhere in the guts 
of it.

Surprise: there isn't any on the entire file system!

Erik.

[*]  part of the pre-installed Debian distribution
--

>   However, the option
>
>      -mfpu=neon
>
> doesn't raise any errors.
>
> That surprises me. Doesn't "NEON floating-point accelerator" imply
> hardware floating point? See also:
>
>
> http://www.eliteraspberries.com/blog/2013/09/cflags-for-numerical-computing-on-the-beaglebone-black.html)
>
>
> What am I missing?
>
>
> Case 2: the cpu
> ===============
> This is a arm-cortex-a8, specifically Sitara AM3358 ARM Cortex-A8.
> What are the pro's and con's of configuring this in ct-ng (with the
> option category "Target optimisations") and leaving it as configurable
> at the gcc command line, using:
>
>      $prefix-gcc -march=armv7-a -mcpu=cortex-a8 -mtune=cortex-a8
>
>
>
> Thanks for sharing any insights,
>
> Erik Leunissen
> --
>
> --
> For unsubscribe information see http://sourceware.org/lists.html#faq
>


--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Configuration advice, specifically for arm-cortex-a8
  2015-02-04 17:51     ` Erik Leunissen
@ 2015-02-21 11:27       ` Erik Leunissen
  0 siblings, 0 replies; 6+ messages in thread
From: Erik Leunissen @ 2015-02-21 11:27 UTC (permalink / raw)
  To: crossgcc

On 04/02/15 18:51, Erik Leunissen wrote:
>
>> We're getting close to doing a 1.20.1 release, and I know some
>> hard-float items have been fixed since 1.20.0.
>>
>>       git clone https://github.com/crosstool-ng/crosstool-ng
>>       ./bootstrap
>>       ./configure ...--options...
>>
>
> I'll have a look at this pre-release.
>


To recap:

After having played/explored ct-ng some more, and varying several 
configuration options, rebuilding, I find that I cannot reproduce this 
error anymore with ct-ng-1.20.0

So: problem solved (I just cannot say how).

Erik.


> Thanks for your reaction,
>
> Erik.
>
> --
>
> --
> For unsubscribe information see http://sourceware.org/lists.html#faq
>


--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2015-02-21 11:27 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-02 22:03 Configuration advice, specifically for arm-cortex-a8 Erik Leunissen
2015-02-02 22:48 ` Erik Leunissen
2015-02-02 23:49   ` Bryan Hundven
2015-02-04 17:51     ` Erik Leunissen
2015-02-21 11:27       ` Erik Leunissen
2015-02-04 18:35 ` Erik Leunissen

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).