Heikki Lindholm wrote: > Jan Kiszka kirjoitti: > > Heikki Lindholm wrote: > > > >>Jan Kiszka kirjoitti: > >> > >> > >>>Hi, > >>> > >>>I'm dumb x86 user who unfortunately just seem to have tumbled in the > >>>cross-compilation trap: I'm trying to generate i586 code on a fancy new > >>>and fast x86_64 compilation host. I got the kernel compiled with > >>>ARCH=i386, using only the pre-installed compiler (i.e. no dedicated > >>>cross tool chain), but I failed to compile xenomai against that kernel > >>>in the following. Which magic switch do I have to apply and where? > >> > >> > >>As dumb a guess: -m32 compiler switch? > >> > > > > > > Yes, I know, that would help. But where to feed this argument into the > > build system? > > I would try makefile (and perhaps config/kconfig/Makefile*) and command > line 'CC="gcc -m32" CXX="gcc -m32" make menuconfig/install' to be sure.
When using autoconf, you are not supposed to pass compiler flags in CC, CFLAGS and CXXFLAGS are made for that... and the build system is supposed to only touch AM_CFLAGS, so that CFLAGS is let for users, but I am pretty sure this does not work with Xenomai, since we never tried :-) As for the compilation for pentium on an x86_64, isn't there any i686-linux-gcc that directly cross compiles for ia32 ? If not, would not the following wrapper do the trick ? #! /bin/sh exec `expr "$0" : 'i686-linux-\(.*\)'` -m32r ${1+"$@"} It should work with most build systems... -- Gilles Chanteperdrix.