[dpdk-dev] [PATCH v2] Pass CC option when building kernel modules
Sergio Gonzalez Monroy
sergio.gonzalez.monroy at intel.com
Thu Oct 9 12:08:33 CEST 2014
At least on kernels 3.15 or newer, wrong compiler flags are set when building
kernel modules.
v2:
Remove unnecessary reset of CC when being included from the kernel.
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy at intel.com>
---
mk/rte.module.mk | 2 +-
mk/toolchain/clang/rte.vars.mk | 5 +----
mk/toolchain/gcc/rte.vars.mk | 1 +
mk/toolchain/icc/rte.vars.mk | 5 +----
4 files changed, 4 insertions(+), 9 deletions(-)
diff --git a/mk/rte.module.mk b/mk/rte.module.mk
index c4ca3fd..41c0d0f 100644
--- a/mk/rte.module.mk
+++ b/mk/rte.module.mk
@@ -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)
+ CC=$(KERNELCC) CROSS_COMPILE=$(CROSS)
# install module in $(RTE_OUTPUT)/kmod
$(RTE_OUTPUT)/kmod/$(MODULE).ko: $(MODULE).ko
diff --git a/mk/toolchain/clang/rte.vars.mk b/mk/toolchain/clang/rte.vars.mk
index ee4f451..40cb389 100644
--- a/mk/toolchain/clang/rte.vars.mk
+++ b/mk/toolchain/clang/rte.vars.mk
@@ -38,11 +38,8 @@
# - 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
diff --git a/mk/toolchain/gcc/rte.vars.mk b/mk/toolchain/gcc/rte.vars.mk
index 262ebdf..993eb26 100644
--- a/mk/toolchain/gcc/rte.vars.mk
+++ b/mk/toolchain/gcc/rte.vars.mk
@@ -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
diff --git a/mk/toolchain/icc/rte.vars.mk b/mk/toolchain/icc/rte.vars.mk
index 612370d..f03a2a2 100644
--- a/mk/toolchain/icc/rte.vars.mk
+++ b/mk/toolchain/icc/rte.vars.mk
@@ -41,11 +41,8 @@
# 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
--
1.9.3
More information about the dev
mailing list