Martin Guy | 3 Dec 12:44
Picon
Favicon

gcc configure for ARM ep93xx: --with-float-abi= does not exist

Hi
  I too have been trying to set hard maverick crunch FPU code
generation as the default for a compiler here, and I see some people
here made the same mistake of configuring GCC using
--with-float-abi=softfp
This option does nothing and is silently ignored (well ok, "configure"
sets $with_float_abi but nothing ever inspects that) - you still have
to supply --with-float-abi=softfp at runtime to get hard FP
instructions, obtaining soft float otherwise.

There is currently no way to select softfp Maverick code generation by default.
for GCC 4.3.2, the closest configure options are, as well as
--with-float=softfp and --with-fpu=maverick:

--with-arch=armv4t the build fails when it tries to compile hard FPA
instructions into libgcc,
--with-cpu=ep9312 it compiles armv5t instructions into libgcc
--with-arch=ep9312 the assembler barfs saying that ep9312 is not a
recognised architecture.

There is even one check that looks for --target=ep9312-* and selects
default fpu=Maverick but I very much doubt that works.

This whole area is bit-rotten. I think the 'ep9312' should be
eliminated,or mapped into arm920t+maverick early on, and everything
should work off -m[cf]pu= the same as every other fpu. Unfortunately,
checks for ep9312 are spread through the config scripts and source
like a fungus.

    M
(Continue reading)

Tim Erwin | 10 Dec 02:23
Picon

Building packages

Hi I am new to embedded linux and am trying to get gentoo on my phone (openmoko). I have used a stage3 build on the phone and have tried distcc but this is still painfully slow as all the configuration is still done on the phone. So using just the cross-compiler how can I build packages and then get them onto the phone?


Thanks,

Tim

Re: Building packages

Hello Tim,

a few people (including me) started a cross-compile overlay for the
openmoko phone.
The overlay can be found here:  http://projects.openmoko.org/projects/gentoo

The goal of our project is to fix cross-compile problems of ebuilds
and feed back those fixes to the portage tree... Feel free to report
bugs, problems, documentation ;-), fixes or new ebuilds there!

Best regards,

    Sven

Ajai Khattri | 10 Dec 18:54
Picon
Favicon

Artigo


The perfect device for building a Gentoo-based NAS device?

http://www.via.com.tw/en/products/embedded/artigo/a2000/

--

-- 
Aj.

Bruce Boyes | 17 Dec 21:13

gentoo-embedded@... issue 184 (2788)

At 09:00 12/17/2008, you wrote:
>The perfect device for building a Gentoo-based NAS device?
>
>http://www.via.com.tw/en/products/embedded/artigo/a2000/

What sort of RAID support is available? (Didn't see mention of it on 
the web page.)

Bruce

Joshua ChaitinPollak | 18 Dec 15:34
Favicon

gentoo-embedded@... issue 184 (2788)


On Dec 17, 2008, at 3:13 PM, Bruce Boyes wrote:

At 09:00 12/17/2008, you wrote:
The perfect device for building a Gentoo-based NAS device?

http://www.via.com.tw/en/products/embedded/artigo/a2000/

What sort of RAID support is available? (Didn't see mention of it on the web page.)

I was disappointed to see it only holds two drives. I assume they expect you to use software raid.

-- 
Joshua ChaitinPollak | Software Engineer 
Kiva Systems, Inc    | 225 Wildwood Ave, Woburn, MA 01970

Jakub Ladman | 19 Dec 10:32
Picon

Re: gcc configure for ARM ep93xx: --with-float-abi= does not exist

Because of reading this message, i am trying to create toolchain (with 
crossdev) for the maverick crunch again.
I made a try with gcc-4.3.2 and 4.1.2, but both failed with this messages:

collect2: ld terminated with signal 8 [Výjimka matematického koprocesoru 
(SIGFPE)] during the last stage - compiling C++ compiler.

I have czech localization, so:
Výjimka matematického koprocesoru = FPU exception

What you think about?

Jakub Ladman
 Dne Wednesday 03 of December 2008 12:44:34 Martin Guy napsal(a):
> Hi
>   I too have been trying to set hard maverick crunch FPU code
> generation as the default for a compiler here, and I see some people
> here made the same mistake of configuring GCC using
> --with-float-abi=softfp
> This option does nothing and is silently ignored (well ok, "configure"
> sets $with_float_abi but nothing ever inspects that) - you still have
> to supply --with-float-abi=softfp at runtime to get hard FP
> instructions, obtaining soft float otherwise.
>
> There is currently no way to select softfp Maverick code generation by
> default. for GCC 4.3.2, the closest configure options are, as well as
> --with-float=softfp and --with-fpu=maverick:
>
> --with-arch=armv4t the build fails when it tries to compile hard FPA
> instructions into libgcc,
> --with-cpu=ep9312 it compiles armv5t instructions into libgcc
> --with-arch=ep9312 the assembler barfs saying that ep9312 is not a
> recognised architecture.
>
> There is even one check that looks for --target=ep9312-* and selects
> default fpu=Maverick but I very much doubt that works.
>
> This whole area is bit-rotten. I think the 'ep9312' should be
> eliminated,or mapped into arm920t+maverick early on, and everything
> should work off -m[cf]pu= the same as every other fpu. Unfortunately,
> checks for ep9312 are spread through the config scripts and source
> like a fungus.
>
>     M

Martin Guy | 19 Dec 13:46
Picon
Favicon

Re: gcc configure for ARM ep93xx: --with-float-abi= does not exist

On 12/19/08, Jakub Ladman <ladmanj@...> wrote:
> Because of reading this message, i am trying to create toolchain (with
>  crossdev) for the maverick crunch again.
>  I made a try with gcc-4.3.2 and 4.1.2, but both failed with this messages:
>
>  collect2: ld terminated with signal 8 [Výjimka matematického koprocesoru
>  (SIGFPE)] during the last stage - compiling C++ compiler.
>
>  I have czech localization, so:
>  Výjimka matematického koprocesoru = FPU exception
>
>  What you think about?

I've never had that failure. You need to say exactly what tools you
are using to create the cross toolchain, what exact command lines you
issue, what special lines you have in config files.

Like I say, I failed to find a combination of options that will set
Maverick hardfloat as the default, so I just create a regular ARM
toolchain, then pass
-mcpu=ep9312 -mfpu=maverick -mfloat-abi=softfp
when using it to compile binaries. Yes, it's a pain.

If you want to compile for Maverick FP, check out
martinwguy.co.uk/martin/crunch (published yesterday!) where there is a
set of patches to make gcc-4.3.2 generate working code for Maverick
Crunch. Otherwise GCC producing Maverick instrutions will definitely
output bad code that gives the wrong results - this may be the root
cause of the problem you describe.

Good luck, let us know how it goes.

    M

Jakub Ladman | 19 Dec 14:28
Picon

Re: gcc configure for ARM ep93xx: --with-float-abi= does not exist


> Like I say, I failed to find a combination of options that will set
> Maverick hardfloat as the default, so I just create a regular ARM
> toolchain, then pass
> -mcpu=ep9312 -mfpu=maverick -mfloat-abi=softfp
> when using it to compile binaries. Yes, it's a pain.
>

Yes, i know that, but it fails during any standard cross-gcc version of 4.x.x 
I tried to generate it via latest crossdev, with 

crossdev --g 4.3.2 -t arm-softfloat-linux-gnueabi
crossdev --g 4.1.2 -t arm-softfloat-linux-gnueabi

with native x86 compiler gcc-3.4.6 and gcc-4.1.2

both four combinations ended with the same error message - about the floating 
point exception.

I will try your patches.

Unfortunately i have big trouble with compilers not comming from gentoo 
crossdev, can't switch compilers with gcc-config and i need this, because i 
use many types of arm, not only the cirrus logic one.
(And i do not know how to append independently built compiler to this gentoo 
gcc-config system)

Thank You

Peter Stuge | 19 Dec 14:55
Picon

Re: gcc configure for ARM ep93xx: --with-float-abi= does not exist

Jakub Ladman wrote:
> I made a try with gcc-4.3.2 and 4.1.2, but both failed with this
> messages:
> 
> collect2: ld terminated with signal 8 [Výjimka matematického
> koprocesoru (SIGFPE)] during the last stage - compiling C++
> compiler.

This looks like you are getting an FPU exception on the build system.

Try installing Gentoo on a few other machines and see if they can
build a working crosscompiler for you.

Jakub Ladman wrote:
> Unfortunately i have big trouble with compilers not comming from
> gentoo crossdev, can't switch compilers with gcc-config and i need
> this, because i use many types of arm, not only the cirrus logic
> one.
> (And i do not know how to append independently built compiler to
> this gentoo gcc-config system)

The most beneficial way for the most people would of course be to
work on crossdev so that it is able to build all of your required
toolchains.

That said, I don't think gcc-config is so complex, you should be able
to reverse engineer it with little to moderate effort.

//Peter


Gmane