Gilles Chanteperdrix wrote: > 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 :-) Indeed. Setting CFLAGS on make overwrites a lot of important stuff, and the compilation fails eagerly. > > 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... > Yes, this seems to work (and fail) just like the "CC=" approach. Jan