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