I've made some progress towards packaging up an arm-none-eabi toolchain and newlib for cross-development for ARM platforms that do not run Linux (vs. the arm-gp2x-linux toolchain). Is anyone else interested in this?
Currently I've got packages for: binutils-2.20 newlib-1.18.0 bootstrap (only provides the headers needed to compile GCC bootstrap) gcc-4.4.3 bootstrap (C only, no libraries, to build newlib)
I'm working on packages for: newlib-1.18.0 full gcc-4.4.3 full (with C++, using newlib)
I expect to start on gdb soon.
What is the preferred method of getting packages with a bootstrap and/or circular dependency issue into Fedora? What I've done so far is to have newlib and gcc packages both with and without "-bootstrap" in the name, and have gcc-bootstrap buildrequires newlib-bootstrap. newlib can build using either gcc-bootstrap or gcc, and I'm not sure how to express that in the spec. Then gcc will buildrequire newlib.
I've also considered:
include newlib sources in the gcc-bootstrap package, to avoid the need fora newlib-bootstrap package
combine bootstrap and normal specs, with a boostrap variable
The folks packaging mingw32 appear to have been through a bootstrap issue somewhat like this, but I'm not sure how they resolved it. The part that seems tricky is ensuring that it is possible to rebuild starting from just SRPMs, without having any of the binary RPMs. (I assume that is a requirement, but maybe not?)
Any suggestions are welcome. And if there's a more appropriate mailing list to discuss this, I'm all ears. The Fedora Embedded SIG page in the wiki didn't mention a mailing list.
Thanks, Eric
On 02/14/2010 11:25 AM, Eric Smith wrote:
I've made some progress towards packaging up an arm-none-eabi toolchain and newlib for cross-development for ARM platforms that do not run Linux (vs. the arm-gp2x-linux toolchain). Is anyone else interested in this?
I wonder if such toolchain can be adopted for Android NDK applications. The NDK build system is certainly no the best, I would like to easily use CMake or autotools.
The Android NDK uses arm-eabi-4.2.1 GCC toolchain.
Don't I get things wrong?
I wrote:
I've made some progress towards packaging up an arm-none-eabi toolchain and newlib for cross-development for ARM platforms that do not run Linux (vs. the arm-gp2x-linux toolchain). Is anyone else interested in this?
Sergey Rudchenko wrote:
I wonder if such toolchain can be adopted for Android NDK applications.
Possibly. While it isn't my objective, anything that can use binutils and gcc configured for "arm-none-eabi" should be able to use them.
The Android NDK uses arm-eabi-4.2.1 GCC toolchain.
I'm using gcc-4.4.3 because I want recent improvements for ARM Cortex-M3 microcontrollers. Unless they've introduced a bug in code generation, I imagine that 4.4.3 should be fine for compiling stuff for Android.
Eric
On Sun, 2010-02-14 at 01:25 -0800, Eric Smith wrote:
I've made some progress towards packaging up an arm-none-eabi toolchain and newlib for cross-development for ARM platforms that do not run Linux (vs. the arm-gp2x-linux toolchain). Is anyone else interested in this?
I've used such a toolchain lately for building the linux-msm kernel - http://gitorious.org/linux-on-qualcomm-s-msm/linux-msm/ - which is used for various smartphones. I dunno if arm-gp2x would've worked for that purpose, but hey. So count me as minimally interested. I can't really help much, though, I'm at the 'monkey see monkey do' stage - I just used whatever someone told me would do the job, following their instructions for how to install / use it.