Gentoo Archives: gentoo-embedded

From: Mike Frysinger <vapier@g.o>
To: gentoo-embedded@l.g.o
Cc: Arturo Garcia <arturo.g.arturo@×××××.com>
Subject: Re: [gentoo-embedded] EABI, softfloat, etc...
Date: Wed, 01 Aug 2007 14:15:01
Message-Id: 200708011014.04761.vapier@gentoo.org
In Reply to: [gentoo-embedded] EABI, softfloat, etc... by Arturo Garcia
1 On Wednesday 01 August 2007, Arturo Garcia wrote:
2 > I am looking for resources that explain
3
4 *shrug* if you find any, please post to the list for others
5
6 > the differences between glibc, glibceabi, eabi,
7 > softfloat, as you can see... I'm a bit lost.
8
9 there are two big libc players:
10 - glibc: full featured (all of POSIX and then some)
11 - uclibc: meant to be small, but lacks some features (critically so for some)
12
13 in the arm world, there are two ABIs:
14 - oabi: "Old ABI": the classic ARM ABI
15 - eabi: "Embedded ABI": the new ARM ABI
16 EABI is "better" in terms of size and being able to address design decisions
17 that ended up being problematic in OABI ... something that you really only
18 find out about after using the same ABI for years and years. unfortunately,
19 the support status of EABI can be a bit tipsy: you have to have very recent
20 versions of everything (binutils, gcc, libc, kernel) or you can forget it.
21
22 in the Linux world, there are a couple of ways to tackle the FPU issue:
23 - put a hardware FPU on the chip/board and generate floating point
24 instructions in userspace, thus increasing BOM while decreasing software
25 development.
26 - include software FPU emulation in the kernel and generate floating point
27 instructions in userspace, thus (significantly) decreasing runtime
28 performance will emulating these floating point operations in kernel space,
29 but again you save time/money on software development.
30 - build userspace with a softfloat toolchain, thus replacing floating point
31 math with fixed point math and taking a runtime performance (but not nearly
32 as bad as the kernel emulation) and continue to save time/money on software
33 development.
34 - dont use floating point. sometimes easy, sometimes hard, sometimes already
35 done for you. depending on the project, this can be a huge sink in software
36 development costs. typically audio/video projects get screwed here: everyone
37 *wants* fixed point algorithms to do audio/video processing, but the large
38 majority of people are fuckers and dont want to (1) help or (2) contribute
39 their work back.
40
41 so for ARM, the default environment is hardfloat userland with FPU emulation
42 enabled in the kernel. if you want to go the softfloat route (which actually
43 shouldnt be too shabby nowadays), just build a *-softfloat-* toolchain.
44
45 HTH
46 -mike

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

Subject Author
Re: [gentoo-embedded] EABI, softfloat, etc... Arturo Garcia <arturo.g.arturo@×××××.com>
Re: [gentoo-embedded] EABI, softfloat, etc... wireless <wireless@×××××××××××.com>
Re: [gentoo-embedded] EABI, softfloat, etc... Arkadi Shishlov <arkadi@××××××.lv>