[dpdk-dev] [PATCH] mk: pass CROSS_COMPILE when compiling kernel modules
Aaro Koskinen
aaro.koskinen at nsn.com
Fri Mar 7 14:32:27 CET 2014
Hi,
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.
A.
More information about the dev
mailing list