openvswitch: fix PIE build against 4.14 kernel

Reported-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
Ref: https://github.com/openwrt/packages/pull/11567
This commit is contained in:
Yousong Zhou 2020-03-16 15:25:51 +08:00
parent 448da99edd
commit e9d6414437
2 changed files with 32 additions and 1 deletions

View File

@ -16,7 +16,7 @@ include $(INCLUDE_DIR)/kernel.mk
#
PKG_NAME:=openvswitch
PKG_VERSION:=2.12.0
PKG_RELEASE:=3
PKG_RELEASE:=4
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://www.openvswitch.org/releases/
PKG_HASH:=13fd42703180b4b1146c7e97926d09225485868cc2fbbd58dc0c421b4b8fe8f8

View File

@ -0,0 +1,31 @@
From ddbe0a362cad22e7171524661fd3d3f83628dd7a Mon Sep 17 00:00:00 2001
From: Yousong Zhou <yszhou4tech@gmail.com>
Date: Mon, 16 Mar 2020 15:18:16 +0800
Subject: [PATCH] datapath: unexport LDFLAGS
OpenWrt build system will put "-specs=.../hardened-pie-ld.specs" into
LDFLAGS when building PIE binaries. However the "-specs" argument is
inteneded for "gcc" the driver while "ld" the linker when presented will
complain it as unrecognized error.
This can cause Kbuild error when building datapath kernel modules. The
issue should only happen when compiling against upstream kernel 4.14 and
earlier. Later ones should have been fixed with kernel upstream commit
d503ac531a5 ("kbuild: rename LDFLAGS to KBUILD_LDFLAGS")
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
---
datapath/linux/Makefile.in | 1 +
1 file changed, 1 insertion(+)
diff --git a/datapath/linux/Makefile.in b/datapath/linux/Makefile.in
index efc1663e4..61fcaa67e 100644
--- a/datapath/linux/Makefile.in
+++ b/datapath/linux/Makefile.in
@@ -1,5 +1,6 @@
ifeq ($(KERNELRELEASE),)
# We're being called directly by running make in this directory.
+unexport LDFLAGS
include Makefile.main
else
# We're being included by the Linux kernel build system