On 2010-09-27, [email protected] <[email protected]> wrote: > For my microcontroller board (ATMEL AT81RM920, linux based)
Do you mean AT91RM9200? > I want to crosscompile kernels and applications on my 64bit Gentoo > linux. That's easy enough. > The source of a gcc (prepared on a 32bit system I fear) for > the purpose of crosscompiling from a 32bit system-- target is the > above mentioned processor -- is available. > > Is it possible to compile this gcc as a 32bit-application on my 64bit > system to ensure the same behaviour as it would if to was built on a > "original 32bit Gentoo Linux"? You want to compile gcc on an AMD64 machine and end up with a cross-compiler that runs as an IA32 app and generates code for an ARM9 target? That's called a "Canadian Cross", and is rather tricky, since it involves three different architectures: building a compiler on architecture A (AMD64) to be run on architecture B (IA32) and generate code for architecture C (ARM9). Can you explain why you want that rather than a normal cross compiler? IOW, why do you want to build a gcc cross compiler that runs as a 32-bit application? It's _way_ simpler to build a "normal" cross compiler: building a compiler one architecture (AMD64) to be run on that same architecture (AMD64) and generate code for a second architecture (ARM9). > (And in this context: The audio application "chuck" is only as 32bit > application available currently. How is it possible to compile this > on a 64bit system?) You use a compiler that generates code for a the desired 32-bit architecture. The "width" of the host is immaterial. The easiest way to build such a compiler is using crosstool-ng http://ymorin.is-a-geek.org/projects/crosstool Crosstool-NG does have some support for doing a Canadian-cross, but I don't see why you would want to do that. -- Grant Edwards grant.b.edwards Yow! Gibble, Gobble, we at ACCEPT YOU ... gmail.com

