mk: pass CC option for kernel modules
authorSergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
Thu, 9 Oct 2014 10:08:33 +0000 (11:08 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 15 Oct 2014 14:01:29 +0000 (16:01 +0200)
At least on kernels 3.15 or newer, wrong compiler flags are set when building
kernel modules.

Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
mk/rte.module.mk
mk/toolchain/clang/rte.vars.mk
mk/toolchain/gcc/rte.vars.mk
mk/toolchain/icc/rte.vars.mk

index d906e78..7bf77c1 100644 (file)
@@ -78,7 +78,7 @@ build: _postbuild
 $(MODULE).ko: $(SRCS_LINKS)
        @if [ ! -f $(notdir Makefile) ]; then ln -nfs $(SRCDIR)/Makefile . ; fi
        @$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) \
-               CROSS_COMPILE=$(CROSS) V=$(if $V,1,0)
+               CC=$(KERNELCC) CROSS_COMPILE=$(CROSS) V=$(if $V,1,0)
 
 # install module in $(RTE_OUTPUT)/kmod
 $(RTE_OUTPUT)/kmod/$(MODULE).ko: $(MODULE).ko
index ee4f451..40cb389 100644 (file)
 #   - define TOOLCHAIN_ASFLAGS variable (overriden by cmdline value)
 #
 
-ifeq ($(KERNELRELEASE),)
 CC        = $(CROSS)clang
-else
-CC        = $(CROSS)gcc
-endif
+KERNELCC  = $(CROSS)gcc
 CPP       = $(CROSS)cpp
 # for now, we don't use as but nasm.
 # AS      = $(CROSS)as
index 262ebdf..993eb26 100644 (file)
@@ -39,6 +39,7 @@
 #
 
 CC        = $(CROSS)gcc
+KERNELCC  = $(CROSS)gcc
 CPP       = $(CROSS)cpp
 # for now, we don't use as but nasm.
 # AS      = $(CROSS)as
index 612370d..f03a2a2 100644 (file)
 # Warning: we do not use CROSS environment variable as icc is mainly a
 # x86->x86 compiler
 
-ifeq ($(KERNELRELEASE),)
 CC        = icc
-else
-CC        = gcc
-endif
+KERNELCC  = gcc
 CPP       = cpp
 AS        = nasm
 AR        = ar