This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Non-working arm-unknown-linux-gnueabi toolchain (gcc-4.1.2, glibc-2.5)


I have built a softfloat arm-unknown-linux-gnueabi toolchain using
ct-ng-0.3.2. It builds stuff without problems, and I've built a 2.6.21
kernel which starts up fine on my Atmel development board
(at91rm9200ek). However, other executables produced with this toolchain
does not work. Nothing happens when init is supposed to run (i.e.
nothing happens after "Freeing init memory: 104K" is displayed). The
timer LED on the board continues to flash, indicating the kernel is
alright, and the cpu usage LED just stays on, indicating 100 % CPU load.

I have done some experimentation using the init boot arg:

- A "Hello world" executable statically linked with my toolchain's libc
by my toolchain does not run.
- A statically linked e2fsck.static directly from debian eabi armel
distribution runs!
- After replacing ld-linux.so.3 and libc.so.6 with the ones from the
above debian distribution, I was also able to get a dynamically linked
executable from the debian distribution to run. However, replacing any
of these libs or the dynamically linked executable with one built with
my toolchain gave the same result as before. (The debian files are based
on glibc-2.6.1 while I'm using glibc-2.5.)

This makes me believe that something is indeed wrong with my toolchain,
but that the kernel somehow is not affected. The kernel is compiled with
something like:

-fno-strict-aliasing -fno-common -marm -fno-omit-frame-pointer -mapcs
-mno-sched-prolog -mabi=aapcs-linux -mno-thumb-interwork -march=armv4t
-mtune=arm9tdmi -msoft-float -Uarm -fno-omit-frame-pointer
-fno-optimize-sibling-calls -fno-stack-protector

... and I've tried building my Hello world app with these same
arguments, but I guess since it depends on libc it is rather pointless
(and indeed it did not run - no difference from before). I also cannot
build my toolchain with the "Generate code for the specific ABI" option
set to aapcs-linux, since the gcc builds complain about it (unknown
abi).

The toolchain includes gcc-4.1.2, glibc-2.5, binutils-2.18,
kernel-headers-2.6.22. Oh, by the way, EABI and OABI compatibility are
both enabled in my kernel-2.6.21 config.

I have seen that other have had this same problem (e.g.
http://sourceware.org/ml/crossgcc/2006-05/msg00068.html), but I've found
no conclusive solution.

The CPU on my board is an Atmel at91rm9200, which use an arm920t core,
which is an armv4t architecture, if I've understood correctly.

Any ideas?

--
Arvid Brodin
Enea QiValue

--
For unsubscribe information see http://sourceware.org/lists.html#faq


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]