Import patch to set *CPPFLAGS in upstream's mkfile 53/2553/1
authorLuca Boccassi <luca.boccassi@gmail.com>
Tue, 30 Aug 2016 17:33:10 +0000 (18:33 +0100)
committerLuca Boccassi <luca.boccassi@gmail.com>
Tue, 30 Aug 2016 17:33:10 +0000 (18:33 +0100)
Part of fix for:
W: dpdk-dev: hardening-no-relro usr/share/dpdk/x86_64-default-linuxapp-gcc/app/dpdk-pmdinfogen

Change-Id: I16b05ddb5ca59dc57be462bf756cb25fb5baaf95
Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
debian/patches/rte-compile-pre-cppflags.patch [new file with mode: 0644]
debian/patches/series

diff --git a/debian/patches/rte-compile-pre-cppflags.patch b/debian/patches/rte-compile-pre-cppflags.patch
new file mode 100644 (file)
index 0000000..c0eef6c
--- /dev/null
@@ -0,0 +1,43 @@
+From a4d00a8bf4684a4cf101b026c7c49a993cf9b989 Mon Sep 17 00:00:00 2001
+From: Luca Boccassi <lboccass@brocade.com>
+Date: Tue, 30 Aug 2016 17:01:49 +0100
+Subject: [PATCH] mk: add missing *CPPFLAGS to rte.compile-pre.mk
+
+Some targets in mk/internal/rte.compile-pre.mk are calling CC or
+HOSTCC without passing CPPFLAGS, EXTRA_CPPFLAGS or HOST_CPPFLAGS,
+HOST_EXTRA_CPPFLAGS.
+On Debian/Ubuntu builds this means that preprocessor flags set by the
+dpkg-buildpackage environment, like hardening flags, are not
+correctly passed to all objects builds.
+
+Signed-off-by: Luca Boccassi <lboccass@brocade.com>
+---
+ mk/internal/rte.compile-pre.mk | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+--- a/mk/internal/rte.compile-pre.mk
++++ b/mk/internal/rte.compile-pre.mk
+@@ -74,18 +74,18 @@ CMDS-all := $(CMDS-y) $(CMDS-n) $(CMDS-)
+ # command to compile a .c file to generate an object
+ ifeq ($(USE_HOST),1)
+-C_TO_O = $(HOSTCC) -Wp,-MD,$(call obj2dep,$(@)).tmp $(HOST_CFLAGS) \
+-      $(CFLAGS_$(@)) $(HOST_EXTRA_CFLAGS) -o $@ -c $<
++C_TO_O = $(HOSTCC) -Wp,-MD,$(call obj2dep,$(@)).tmp $(HOST_CPPFLAGS) $(HOST_CFLAGS) \
++      $(CFLAGS_$(@)) $(HOST_EXTRA_CPPFLAGS) $(HOST_EXTRA_CFLAGS) -o $@ -c $<
+ C_TO_O_STR = $(subst ','\'',$(C_TO_O)) #'# fix syntax highlight
+ C_TO_O_DISP = $(if $(V),"$(C_TO_O_STR)","  HOSTCC $(@)")
+ else
+-C_TO_O = $(CC) -Wp,-MD,$(call obj2dep,$(@)).tmp $(CFLAGS) \
+-      $(CFLAGS_$(@)) $(EXTRA_CFLAGS) -o $@ -c $<
++C_TO_O = $(CC) -Wp,-MD,$(call obj2dep,$(@)).tmp $(CPPFLAGS) $(CFLAGS) \
++      $(CFLAGS_$(@)) $(EXTRA_CPPFLAGS) $(EXTRA_CFLAGS) -o $@ -c $<
+ C_TO_O_STR = $(subst ','\'',$(C_TO_O)) #'# fix syntax highlight
+ C_TO_O_DISP = $(if $(V),"$(C_TO_O_STR)","  CC $(@)")
+ endif
+ PMDINFO_GEN = $(RTE_SDK_BIN)/app/dpdk-pmdinfogen $@ $@.pmd.c
+-PMDINFO_CC = $(CC) $(CFLAGS) -c -o $@.pmd.o $@.pmd.c
++PMDINFO_CC = $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@.pmd.o $@.pmd.c
+ PMDINFO_LD = $(CROSS)ld $(LDFLAGS) -r -o $@.o $@.pmd.o $@
+ PMDINFO_TO_O = if grep -q 'PMD_REGISTER_DRIVER(.*)' $<; then \
+       echo "$(if $V,$(PMDINFO_GEN),  PMDINFO $@.pmd.c)" && \
index 1a80552..5f583d5 100644 (file)
@@ -3,3 +3,4 @@ fix-double-license-info.patch
 fix-unusual-interpreter.patch
 dpdk-dev-doc-fix-old-dpdk-nic-bind.py-references.patch
 make-load-devel-config-not-to-appear-as-executable.patch
+rte-compile-pre-cppflags.patch