treewide: refactor to use PKG_BUILD_FLAGS:=gc-sections
authorAndre Heider <a.heider@gmail.com>
Thu, 23 Mar 2023 08:52:20 +0000 (09:52 +0100)
committerNick Hainke <vincent@systemli.org>
Thu, 13 Apr 2023 05:46:21 +0000 (07:46 +0200)
See commit da370098 "treewide: add support for "gc-sections" in
PKG_BUILD_FLAGS" on the main repository.

Signed-off-by: Andre Heider <a.heider@gmail.com>
alfred/Makefile
batctl/Makefile

index 1325d6e0e226ac42a3d0929cbcab5e0658b2f922..81ce841789a907773d34f94556341d97678611ef 100644 (file)
@@ -15,6 +15,7 @@ PKG_LICENSE:=GPL-2.0-only MIT
 PKG_LICENSE_FILES:=LICENSES/preferred/GPL-2.0 LICENSES/preferred/MIT
 
 PKG_BUILD_PARALLEL:=1
+PKG_BUILD_FLAGS:=gc-sections
 
 PKG_CONFIG_DEPENDS += \
        CONFIG_ALFRED_NEEDS_lua \
@@ -67,8 +68,8 @@ MAKE_FLAGS += \
         LIBNL_GENL_NAME="libnl-tiny" \
         REVISION="$(PKG_VERSION)-openwrt-$(PKG_RELEASE)"
 
-TARGET_CFLAGS  += -ffunction-sections -fdata-sections -flto
-TARGET_LDFLAGS += -Wl,--gc-sections -fuse-linker-plugin
+TARGET_CFLAGS  += -flto
+TARGET_LDFLAGS += -fuse-linker-plugin
 
 define Package/alfred/install
        $(INSTALL_DIR) $(1)/usr/sbin
index 0d2452d72810274e50c1560a04af05158e458a07..2adbf422d0bc6881f0356fe967f44c2aa6ba4553 100644 (file)
@@ -16,6 +16,7 @@ PKG_LICENSE:=GPL-2.0-only ISC MIT
 PKG_LICENSE_FILES:=LICENSES/preferred/GPL-2.0 LICENSES/preferred/MIT LICENSES/deprecated/ISC
 
 PKG_BUILD_PARALLEL:=1
+PKG_BUILD_FLAGS:=gc-sections
 
 include $(INCLUDE_DIR)/package.mk
 
@@ -70,13 +71,6 @@ $(Package/batctl/description)
   Subcommands for configuration, online and offline debugging are enabled.
 endef
 
-# The linker can identify unused sections of a binary when each symbol is stored
-# in a separate section. This mostly removes unused linker sections and reduces
-# the size by ~3% on mipsel.
-
-TARGET_CFLAGS  += -ffunction-sections -fdata-sections
-TARGET_LDFLAGS += -Wl,--gc-sections
-
 # Link-time optimization allows to move parts of the optimization from the single
 # source file to the global source view. This is done by emitting the GIMPLE
 # representation in each object file and analyzing it again during the link step.