aboutsummaryrefslogtreecommitdiffstats
path: root/package/utils
diff options
context:
space:
mode:
authorAndre Heider <a.heider@gmail.com>2023-02-02 21:16:21 +0100
committerChristian Marangi <ansuelsmth@gmail.com>2023-03-21 18:28:22 +0100
commitda3700988d9e34e380bae21ee23d5458a7e972b4 (patch)
tree20d82e514ac77f4f0de8deb7f1274a8f409646df /package/utils
parent5c545bdb365a78b8995ddfa441a6018f7ff3c011 (diff)
downloadupstream-da3700988d9e34e380bae21ee23d5458a7e972b4.tar.gz
upstream-da3700988d9e34e380bae21ee23d5458a7e972b4.tar.bz2
upstream-da3700988d9e34e380bae21ee23d5458a7e972b4.zip
treewide: add support for "gc-sections" in PKG_BUILD_FLAGS
This reduces open coding and allows to easily add a knob to enable it treewide, where chosen packages can still opt-out via "no-gc-sections". Note: libnl, mbedtls and opkg only used the CFLAGS part without the LDFLAGS counterpart. That doesn't help at all if the goal is to produce smaller binaries. I consider that an accident, and this fixes it. Note: there are also packages using only the LDFLAGS part. I didn't touch those, as gc might have been disabled via CFLAGS intentionally. Signed-off-by: Andre Heider <a.heider@gmail.com>
Diffstat (limited to 'package/utils')
-rw-r--r--package/utils/e2fsprogs/Makefile4
-rw-r--r--package/utils/mdadm/Makefile4
-rw-r--r--package/utils/mtd-utils/Makefile4
3 files changed, 4 insertions, 8 deletions
diff --git a/package/utils/e2fsprogs/Makefile b/package/utils/e2fsprogs/Makefile
index e6c5cfe75c..cd9b10e175 100644
--- a/package/utils/e2fsprogs/Makefile
+++ b/package/utils/e2fsprogs/Makefile
@@ -23,6 +23,7 @@ PKG_BUILD_DEPENDS:=util-linux e2fsprogs/host
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
+PKG_BUILD_FLAGS:=gc-sections
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/host-build.mk
@@ -142,7 +143,7 @@ $(call Package/e2fsprogs)
DEPENDS:= +e2fsprogs
endef
-TARGET_CFLAGS += $(FPIC) -ffunction-sections -fdata-sections -flto
+TARGET_CFLAGS += $(FPIC) -flto
TARGET_LDFLAGS += -flto
@@ -171,7 +172,6 @@ define Build/Compile
V=$(if $(findstring c,$(OPENWRT_VERBOSE)),1,) \
subst
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
- LDFLAGS=-Wl,--gc-sections \
BUILDCC="$(HOSTCC)" \
DESTDIR="$(PKG_INSTALL_DIR)" \
ELF_OTHER_LIBS="$(TARGET_LDFLAGS) -luuid" \
diff --git a/package/utils/mdadm/Makefile b/package/utils/mdadm/Makefile
index 553728194e..1828a88972 100644
--- a/package/utils/mdadm/Makefile
+++ b/package/utils/mdadm/Makefile
@@ -19,6 +19,7 @@ PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
PKG_CPE_ID:=cpe:/a:mdadm_project:mdadm
PKG_BUILD_PARALLEL:=1
+PKG_BUILD_FLAGS:=gc-sections
include $(INCLUDE_DIR)/package.mk
@@ -43,7 +44,6 @@ define Package/mdadm/conffiles
endef
TARGET_CFLAGS += \
- -ffunction-sections -fdata-sections \
-DHAVE_STDINT_H -DNO_COROSYNC -DNO_DLM -DUSE_PTHREADS \
-DCONFFILE='\"/var/etc/mdadm.conf\"' \
-DMAP_DIR='\"/var/run/mdadm\"' \
@@ -53,8 +53,6 @@ TARGET_CFLAGS += \
TARGET_CXFLAGS = -DNO_LIBUDEV
-TARGET_LDFLAGS += -Wl,--gc-sections
-
MAKE_FLAGS += \
CHECK_RUN_DIR=0 \
CXFLAGS="$(TARGET_CXFLAGS)"
diff --git a/package/utils/mtd-utils/Makefile b/package/utils/mtd-utils/Makefile
index afbfbceff5..bd53e071d5 100644
--- a/package/utils/mtd-utils/Makefile
+++ b/package/utils/mtd-utils/Makefile
@@ -19,6 +19,7 @@ PKG_INSTALL:=1
PKG_FIXUP:=autoreconf
PKG_FLAGS:=nonshared
+PKG_BUILD_FLAGS:=gc-sections
PKG_BUILD_DEPENDS:=util-linux
@@ -64,9 +65,6 @@ CONFIGURE_ARGS += \
--without-zstd \
--without-lzo
-TARGET_CFLAGS += -ffunction-sections -fdata-sections
-TARGET_LDFLAGS += -Wl,--gc-sections
-
define Package/ubi-utils/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) \