uboot-envtools: Add TARGET_LDFLAGS to fix PIE and RELRO

Forward the OpenWrt TARGET_LDFLAGS to the linker of the fw_printenv tool.
In addition also use the more standard make invocation script.
With this change the fw_printenv tool is built with PIE and Full RELRO
support when activated globally in OpenWrt.

Signed-off-by: Hauke Mehrtens <hauke.mehrtens@intel.com>
(cherry picked from commit b7b2be0b26)
This commit is contained in:
Hauke Mehrtens 2019-11-07 21:01:40 +01:00 committed by Hauke Mehrtens
parent 963cee15e8
commit 0803b62fc6
2 changed files with 9 additions and 11 deletions

View File

@ -51,16 +51,11 @@ define Build/Configure
touch $(PKG_BUILD_DIR)/include/generated/autoconf.h
endef
TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR) \
CROSS_COMPILE="$(TARGET_CROSS)" \
TARGET_CFLAGS="$(TARGET_CFLAGS)" \
HOSTLDFLAGS= \
no-dot-config-targets=envtools \
envtools
endef
MAKE_FLAGS += \
TARGET_CFLAGS="$(TARGET_CFLAGS)" \
TARGET_LDFLAGS="$(TARGET_LDFLAGS)" \
no-dot-config-targets=envtools \
envtools
define Package/uboot-envtools/conffiles
/etc/config/ubootenv

View File

@ -1,12 +1,15 @@
--- a/tools/env/Makefile
+++ b/tools/env/Makefile
@@ -10,6 +10,10 @@
@@ -10,6 +10,13 @@
# with "CC" here for the maximum code reuse of scripts/Makefile.host.
override HOSTCC = $(CC)
+ifneq ($(TARGET_CFLAGS),)
+HOSTCFLAGS = $(TARGET_CFLAGS)
+endif
+ifneq ($(TARGET_LDFLAGS),)
+HOSTLDFLAGS = $(TARGET_LDFLAGS)
+endif
+
# Compile for a hosted environment on the target
HOST_EXTRACFLAGS = $(patsubst -I%,-idirafter%, $(filter -I%, $(UBOOTINCLUDE))) \