Hi, 2014-03-07 15:32, Aaro Koskinen: > On Tue, Feb 25, 2014 at 10:55:36PM +0100, Thomas Monjalon wrote: > > 07/02/2014 18:44, Aaro Koskinen : > > > Pass CROSS_COMPILE to the kernel build system when compiling kernel > > > modules. Although we export CC etc. the top level kernel Makefile will > > > override the environment. As a result it will end up using wrong tools > > > if cross-compilation is desired but CROSS_COMPILE is not set. > > > > > > Signed-off-by: Aaro Koskinen <aaro.koskinen at nsn.com> > > > > Could you explain why it's needed ? > > In a basic test, CC=$(CROSS)gcc in rte.vars.mk seems sufficient. > > If you compile on 32-bit host to 64-bit target, the build fails with > errors such as: > > [...]include/linux/kernfs.h:331:1: note: expected 'const char *' but > argument is of type 'const unsigned char *' kernfs_find_and_get(struct > kernfs_node *kn, const char *name) > ^ > cc1: all warnings being treated as errors > > Build with V=1 shows that following appears in the command line > when compiling the kernel modules: > > -isystem /usr/lib/gcc/i486-linux-gnu/4.8/include > > With the patch this will be corrected to point to my target's sysroot: > > -isystem /foo/bar/lib/gcc/x86_64-linux-gnu/4.8.2/include > > And the build succeeds without any warnings.
Acked-by: Thomas Monjalon <thomas.monjalon at 6wind.com> It's applied for version 1.6.0r2. Thanks -- Thomas