I have a nearly working port of eCos for the Broadcom BCM5890 that also includes ARM EABI (arm-none-eabi-gcc) support. The idea is that people should be able to build eCos with a supported toolchain (aka CodeSourcery) (and perhaps at some point ADS). Redboot builds and runs fine under EABI now (at least on this target, but I suspect it will be OK on other ARM targets as well).
One of the things that's holding it up is the use of __attribute__(init_priority(_pri_))) because there appears to be an issue (I hesitate to call this a bug until it's further understood) where 'ld -r' combines __init_array entry ordering when creating extras.o When you link the resulting target images, the static constructor ordering gets messed up a little bit, and of consequently things don't work right. Anyhow -- one of the possible solutions that came out of this was to remove the requirement for multiple translation unit static constructor ordering. It's a GNU only extension and generally not considered good behavior. It's a big change, but that by itself is not a good reason not to do it. Any thoughts? BTW, this ARM tree has a lot of general improvements. It includes support for ARM processors that don't have the vector tables at 0x0, has a bunch of additional ARM9 helper routines, low power sleep in the idle loop, etc. --Chris -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
