diff options
author | Andre Heider <a.heider@gmail.com> | 2023-02-02 21:16:21 +0100 |
---|---|---|
committer | Christian Marangi <ansuelsmth@gmail.com> | 2023-03-21 18:28:22 +0100 |
commit | da3700988d9e34e380bae21ee23d5458a7e972b4 (patch) | |
tree | 20d82e514ac77f4f0de8deb7f1274a8f409646df /package/utils | |
parent | 5c545bdb365a78b8995ddfa441a6018f7ff3c011 (diff) | |
download | upstream-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/Makefile | 4 | ||||
-rw-r--r-- | package/utils/mdadm/Makefile | 4 | ||||
-rw-r--r-- | package/utils/mtd-utils/Makefile | 4 |
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) \ |