Gentoo Logo
Gentoo Spaceship




Note: Due to technical difficulties, the Archives are currently not up to date. GMANE provides an alternative service for most mailing lists.
c.f. bug 424647
List Archive: gentoo-embedded
Navigation:
Lists: gentoo-embedded: < Prev By Thread Next > < Prev By Date Next >
Headers:
To: gentoo-embedded@g.o
From: Mike Frysinger <vapier@g.o>
Subject: Re: EABI, softfloat, etc...
Date: Wed, 1 Aug 2007 10:14:04 -0400
On Wednesday 01 August 2007, Arturo Garcia wrote:
> I am looking for resources that explain

*shrug* if you find any, please post to the list for others

> the differences between glibc, glibceabi, eabi, 
> softfloat, as you can see...  I'm a bit lost.

there are two big libc players:
 - glibc: full featured (all of POSIX and then some)
 - uclibc: meant to be small, but lacks some features (critically so for some)

in the arm world, there are two ABIs:
 - oabi: "Old ABI": the classic ARM ABI
 - eabi: "Embedded ABI": the new ARM ABI
EABI is "better" in terms of size and being able to address design decisions 
that ended up being problematic in OABI ... something that you really only 
find out about after using the same ABI for years and years.  unfortunately, 
the support status of EABI can be a bit tipsy: you have to have very recent 
versions of everything (binutils, gcc, libc, kernel) or you can forget it.

in the Linux world, there are a couple of ways to tackle the FPU issue:
 - put a hardware FPU on the chip/board and generate floating point 
instructions in userspace, thus increasing BOM while decreasing software 
development.
 - include software FPU emulation in the kernel and generate floating point 
instructions in userspace, thus (significantly) decreasing runtime 
performance will emulating these floating point operations in kernel space, 
but again you save time/money on software development.
 - build userspace with a softfloat toolchain, thus replacing floating point 
math with fixed point math and taking a runtime performance (but not nearly 
as bad as the kernel emulation) and continue to save time/money on software 
development.
 - dont use floating point.  sometimes easy, sometimes hard, sometimes already 
done for you.  depending on the project, this can be a huge sink in software 
development costs.  typically audio/video projects get screwed here: everyone 
*wants* fixed point algorithms to do audio/video processing, but the large 
majority of people are fuckers and dont want to (1) help or (2) contribute 
their work back.

so for ARM, the default environment is hardfloat userland with FPU emulation 
enabled in the kernel.  if you want to go the softfloat route (which actually 
shouldnt be too shabby nowadays), just build a *-softfloat-* toolchain.

HTH
-mike
Attachment:
signature.asc (This is a digitally signed message part.)
Replies:
Re: EABI, softfloat, etc...
-- Arkadi Shishlov
Re: EABI, softfloat, etc...
-- wireless
Re: EABI, softfloat, etc...
-- Arturo Garcia
References:
EABI, softfloat, etc...
-- Arturo Garcia
Navigation:
Lists: gentoo-embedded: < Prev By Thread Next > < Prev By Date Next >
Previous by thread:
EABI, softfloat, etc...
Next by thread:
Re: EABI, softfloat, etc...
Previous by date:
EABI, softfloat, etc...
Next by date:
Re: EABI, softfloat, etc...


Updated Jun 17, 2009

Summary: Archive of the gentoo-embedded mailing list.

Donate to support our development efforts.

Copyright 2001-2013 Gentoo Foundation, Inc. Questions, Comments? Contact us.