uboot-envtools: Add TARGET_LDFLAGS to fix PIE and RELRO
authorHauke Mehrtens <hauke.mehrtens@intel.com>
Thu, 7 Nov 2019 20:01:40 +0000 (21:01 +0100)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 9 Nov 2019 13:33:42 +0000 (14:33 +0100)
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>
package/boot/uboot-envtools/Makefile
package/boot/uboot-envtools/patches/001-compile.patch

index 4be043dcab6e266290ddf42d013d833455703bc7..f880698e9cb8b2f59136a6030cd89d61cd61c2d5 100644 (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
index 34072f309d3431f8fb1c8cfb0db8789982eab31a..5413aa4a4153836ef9c00e59be680adc54b63c59 100644 (file)
@@ -1,12 +1,15 @@
 --- a/tools/env/Makefile
 +++ b/tools/env/Makefile
-@@ -8,6 +8,10 @@
+@@ -8,6 +8,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  = -I$(srctree)/tools \