[OSX] arm-GTA02-linux-gnueabi toolchain for i386-apple-darwin

Dr. H. Nikolaus Schaller hns at computer.org
Fri Feb 6 10:03:30 CET 2009


Hi all,
there is some progress to report from the never-ending story of geting  
a working cross-toolchain with full Linux and glibc support for the  
Freerunner (and other arm-eabi devices) that runs natively on MacOS X!

The status is:
* gcc is now complete for C language
* bootstrapping linuxheaders (with NPTL) and glibc for arm-GTA02-linux- 
gnueabi now works
* I was able to build a first "hello world" that runs when copied to  
the Freerunner

To achieve that, I had to tweak some more glibc configure flags and  
there was a bug that the arm-eabi support (which is in glibc/ports)  
was only partially enabled.

Now, the final step I am looking for is still missing: Objective-C and  
C++.

What I have found so far is that gcc 4.1.2 does not even support objc  
for arm-gnueabi :-( The minimum gcc is 4.3. But 4.3 requires gmp and  
mpfr. So I have started to add these to my bestiary of build scripts.

Unfortunately, that again is a nightmare of removing unexpected (and  
undocumented) roadblocks.

It was so easy in Sharp Zaurus times with gcc.95.3 and arm-oabi...

Nikolaus

Am 15.01.2009 um 21:45 schrieb Dr. H. Nikolaus Schaller:

>
> Am 09.01.2009 um 23:22 schrieb Christopher Friedt:
>
>> Good work ;-)
>>
>> On Fri, Jan 9, 2009 at 5:09 PM, Dr. H. Nikolaus Schaller
>> <hns at computer.org> wrote:
>>> :) :) :)
>>>
>>> After doing some more magical tricks, now the glibc configure with
>>> NPTL
>>> succeeds and the first phase gcc is being built!
>>>
>>> So it appears that I have (a still incomplete) gcc that supports C
>>> (but no
>>> C++ and Obj-C and of course no real glibc).
>
> Unfortunately it turned out that this gcc can really create .o files -
> but ld does not find crt1.o
>
>>> Next steps tomorrow...
>
> I was a little too optimistic...
>
> In the build log I have found an error message that is as simple as:
>
> checking for library containing strerror... configure: error: Link
> tests are not allowed after GCC_NO_EXECUTABLES.
> make[1]: *** [configure-target-libiberty] Error 1
>
> The key issue appears that the build of 4.1.2 gcc it tries to
> configure some libraries for the target processor [configure-target-
> libiberty] before crt1.o is built. And these configure scripts try to
> build executables (using xgcc, ld and crt1.o). So this fails and
> crt1.o is not built at all.
>
> As usual Google reveals that others also had this problem but nobody
> appears to post solutions to recent gcc building issues...
>
> So, let's jump again into the mud of cross toolchain building...
>
> Nikolaus
>
> _______________________________________________
> devel mailing list
> devel at lists.openmoko.org
> https://lists.openmoko.org/mailman/listinfo/devel




More information about the devel mailing list