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
signature.asc
Description: This is a digitally signed message part.
