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>
This commit is contained in:
		 Andre Heider
					Andre Heider
				
			
				
					committed by
					
						 Christian Marangi
						Christian Marangi
					
				
			
			
				
	
			
			
			 Christian Marangi
						Christian Marangi
					
				
			
						parent
						
							5c545bdb36
						
					
				
				
					commit
					da3700988d
				
			| @@ -30,7 +30,7 @@ ifneq ($(strip $(PKG_USE_MIPS16)),1) | |||||||
|   PKG_BUILD_FLAGS+=no-mips16 |   PKG_BUILD_FLAGS+=no-mips16 | ||||||
| endif | endif | ||||||
|  |  | ||||||
| __unknown_flags=$(filter-out no-iremap no-mips16,$(PKG_BUILD_FLAGS)) | __unknown_flags=$(filter-out no-iremap no-mips16 gc-sections no-gc-sections,$(PKG_BUILD_FLAGS)) | ||||||
| ifneq ($(__unknown_flags),) | ifneq ($(__unknown_flags),) | ||||||
|   $(error unknown PKG_BUILD_FLAGS: $(__unknown_flags)) |   $(error unknown PKG_BUILD_FLAGS: $(__unknown_flags)) | ||||||
| endif | endif | ||||||
| @@ -51,6 +51,11 @@ ifdef CONFIG_USE_MIPS16 | |||||||
|     TARGET_CXXFLAGS += -mips16 -minterlink-mips16 |     TARGET_CXXFLAGS += -mips16 -minterlink-mips16 | ||||||
|   endif |   endif | ||||||
| endif | endif | ||||||
|  | ifeq ($(call pkg_build_flag,gc-sections,0),1) | ||||||
|  |   TARGET_CFLAGS+= -ffunction-sections -fdata-sections | ||||||
|  |   TARGET_CXXFLAGS+= -ffunction-sections -fdata-sections | ||||||
|  |   TARGET_LDFLAGS+= -Wl,--gc-sections | ||||||
|  | endif | ||||||
|  |  | ||||||
| include $(INCLUDE_DIR)/hardening.mk | include $(INCLUDE_DIR)/hardening.mk | ||||||
| include $(INCLUDE_DIR)/prereq.mk | include $(INCLUDE_DIR)/prereq.mk | ||||||
|   | |||||||
| @@ -17,6 +17,8 @@ PKG_HASH:=7fe36a064101cd5c515e41b2be393dce3ca88adce59d6ee668e0af7c0c4570cd | |||||||
|  |  | ||||||
| PKG_CONFIG_DEPENDS := CONFIG_KEXEC_ZLIB CONFIG_KEXEC_LZMA | PKG_CONFIG_DEPENDS := CONFIG_KEXEC_ZLIB CONFIG_KEXEC_LZMA | ||||||
|  |  | ||||||
|  | PKG_BUILD_FLAGS:=gc-sections | ||||||
|  |  | ||||||
| include $(INCLUDE_DIR)/package.mk | include $(INCLUDE_DIR)/package.mk | ||||||
|  |  | ||||||
| define Package/kexec-tools/Default | define Package/kexec-tools/Default | ||||||
| @@ -82,9 +84,6 @@ CONFIGURE_ARGS = \ | |||||||
| 		$(if $(CONFIG_KEXEC_LZMA),--with,--without)-lzma \ | 		$(if $(CONFIG_KEXEC_LZMA),--with,--without)-lzma \ | ||||||
| 		TARGET_LD="$(TARGET_CROSS)ld" | 		TARGET_LD="$(TARGET_CROSS)ld" | ||||||
|  |  | ||||||
| TARGET_CFLAGS += -ffunction-sections -fdata-sections |  | ||||||
| TARGET_LDFLAGS += -Wl,--gc-sections |  | ||||||
|  |  | ||||||
| CONFIGURE_VARS += \ | CONFIGURE_VARS += \ | ||||||
| 	BUILD_CC="$(HOSTCC)" \ | 	BUILD_CC="$(HOSTCC)" \ | ||||||
| 	TARGET_CC="$(TARGET_CC)" | 	TARGET_CC="$(TARGET_CC)" | ||||||
|   | |||||||
| @@ -26,6 +26,8 @@ PKG_CONFIG_DEPENDS:= \ | |||||||
| 	CONFIG_PACKAGE_libevent2-pthreads \ | 	CONFIG_PACKAGE_libevent2-pthreads \ | ||||||
| 	CONFIG_PACKAGE_libevent2-mbedtls | 	CONFIG_PACKAGE_libevent2-mbedtls | ||||||
|  |  | ||||||
|  | PKG_BUILD_FLAGS:=gc-sections | ||||||
|  |  | ||||||
| include $(INCLUDE_DIR)/package.mk | include $(INCLUDE_DIR)/package.mk | ||||||
| include $(INCLUDE_DIR)/cmake.mk | include $(INCLUDE_DIR)/cmake.mk | ||||||
|  |  | ||||||
| @@ -112,8 +114,8 @@ define Package/libevent2-pthreads/description | |||||||
| 	threading & locking. | 	threading & locking. | ||||||
| endef | endef | ||||||
|  |  | ||||||
| TARGET_CFLAGS += $(FPIC) -ffunction-sections -fdata-sections -flto | TARGET_CFLAGS += $(FPIC) -flto | ||||||
| TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed -flto | TARGET_LDFLAGS += -Wl,--as-needed -flto | ||||||
|  |  | ||||||
| CMAKE_OPTIONS += \ | CMAKE_OPTIONS += \ | ||||||
| 	-DEVENT__DISABLE_BENCHMARK:BOOL=ON \ | 	-DEVENT__DISABLE_BENCHMARK:BOOL=ON \ | ||||||
|   | |||||||
| @@ -20,6 +20,8 @@ PKG_CPE_ID:=cpe:/a:libnl_project:libnl | |||||||
| PKG_INSTALL:=1 | PKG_INSTALL:=1 | ||||||
| PKG_FIXUP:=autoreconf | PKG_FIXUP:=autoreconf | ||||||
|  |  | ||||||
|  | PKG_BUILD_FLAGS:=gc-sections | ||||||
|  |  | ||||||
| include $(INCLUDE_DIR)/package.mk | include $(INCLUDE_DIR)/package.mk | ||||||
|  |  | ||||||
| define Package/libnl/default | define Package/libnl/default | ||||||
| @@ -80,7 +82,7 @@ define Package/libnl/description | |||||||
|  message construction and parsing, object caching system, etc. |  message construction and parsing, object caching system, etc. | ||||||
| endef | endef | ||||||
|  |  | ||||||
| TARGET_CFLAGS += -ffunction-sections -fdata-sections $(FPIC) | TARGET_CFLAGS += $(FPIC) | ||||||
|  |  | ||||||
| CONFIGURE_ARGS += \ | CONFIGURE_ARGS += \ | ||||||
| 	--disable-debug | 	--disable-debug | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk | |||||||
| PKG_NAME:=mbedtls | PKG_NAME:=mbedtls | ||||||
| PKG_VERSION:=2.28.2 | PKG_VERSION:=2.28.2 | ||||||
| PKG_RELEASE:=2 | PKG_RELEASE:=2 | ||||||
| PKG_BUILD_FLAGS:=no-mips16 | PKG_BUILD_FLAGS:=no-mips16 gc-sections | ||||||
|  |  | ||||||
| PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz | PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz | ||||||
| PKG_SOURCE_URL:=https://codeload.github.com/ARMmbed/mbedtls/tar.gz/v$(PKG_VERSION)? | PKG_SOURCE_URL:=https://codeload.github.com/ARMmbed/mbedtls/tar.gz/v$(PKG_VERSION)? | ||||||
| @@ -121,7 +121,6 @@ This package contains mbedtls helper programs for private key and | |||||||
| CSR generation (gen_key, cert_req) | CSR generation (gen_key, cert_req) | ||||||
| endef | endef | ||||||
|  |  | ||||||
| TARGET_CFLAGS += -ffunction-sections -fdata-sections |  | ||||||
| TARGET_CFLAGS := $(filter-out -O%,$(TARGET_CFLAGS)) | TARGET_CFLAGS := $(filter-out -O%,$(TARGET_CFLAGS)) | ||||||
|  |  | ||||||
| CMAKE_OPTIONS += \ | CMAKE_OPTIONS += \ | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk | |||||||
| PKG_NAME:=openssl | PKG_NAME:=openssl | ||||||
| PKG_VERSION:=3.0.8 | PKG_VERSION:=3.0.8 | ||||||
| PKG_RELEASE:=4 | PKG_RELEASE:=4 | ||||||
| PKG_BUILD_FLAGS:=no-mips16 | PKG_BUILD_FLAGS:=no-mips16 gc-sections | ||||||
|  |  | ||||||
| PKG_BUILD_PARALLEL:=1 | PKG_BUILD_PARALLEL:=1 | ||||||
|  |  | ||||||
| @@ -339,8 +339,7 @@ define Build/Configure | |||||||
| 	) | 	) | ||||||
| endef | endef | ||||||
|  |  | ||||||
| TARGET_CFLAGS += $(FPIC) -ffunction-sections -fdata-sections | TARGET_CFLAGS += $(FPIC) | ||||||
| TARGET_LDFLAGS += -Wl,--gc-sections |  | ||||||
|  |  | ||||||
| define Build/Compile | define Build/Compile | ||||||
| 	+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \ | 	+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \ | ||||||
|   | |||||||
| @@ -21,6 +21,8 @@ PKG_LICENSE:=ISC | |||||||
|  |  | ||||||
| PKG_CONFIG_DEPENDS := CONFIG_IPV6 | PKG_CONFIG_DEPENDS := CONFIG_IPV6 | ||||||
|  |  | ||||||
|  | PKG_BUILD_FLAGS:=gc-sections | ||||||
|  |  | ||||||
| include $(INCLUDE_DIR)/package.mk | include $(INCLUDE_DIR)/package.mk | ||||||
| include $(INCLUDE_DIR)/cmake.mk | include $(INCLUDE_DIR)/cmake.mk | ||||||
|  |  | ||||||
| @@ -42,8 +44,8 @@ define Package/firewall/conffiles | |||||||
| /etc/firewall.user | /etc/firewall.user | ||||||
| endef | endef | ||||||
|  |  | ||||||
| TARGET_CFLAGS += -ffunction-sections -fdata-sections -flto | TARGET_CFLAGS += -flto | ||||||
| TARGET_LDFLAGS += -Wl,--gc-sections -flto | TARGET_LDFLAGS += -flto | ||||||
| CMAKE_OPTIONS += $(if $(CONFIG_IPV6),,-DDISABLE_IPV6=1) | CMAKE_OPTIONS += $(if $(CONFIG_IPV6),,-DDISABLE_IPV6=1) | ||||||
|  |  | ||||||
| define Package/firewall/install | define Package/firewall/install | ||||||
|   | |||||||
| @@ -23,7 +23,7 @@ PKG_CPE_ID:=cpe:/a:matt_johnston:dropbear_ssh_server | |||||||
|  |  | ||||||
| PKG_BUILD_PARALLEL:=1 | PKG_BUILD_PARALLEL:=1 | ||||||
| PKG_ASLR_PIE_REGULAR:=1 | PKG_ASLR_PIE_REGULAR:=1 | ||||||
| PKG_BUILD_FLAGS:=no-mips16 | PKG_BUILD_FLAGS:=no-mips16 gc-sections | ||||||
| PKG_FIXUP:=autoreconf | PKG_FIXUP:=autoreconf | ||||||
| PKG_FLAGS:=nonshared | PKG_FLAGS:=nonshared | ||||||
|  |  | ||||||
| @@ -142,8 +142,8 @@ DB_OPT_CONFIG = \ | |||||||
| 	DROPBEAR_SVR_AGENTFWD|CONFIG_DROPBEAR_AGENTFORWARD|1|0 \ | 	DROPBEAR_SVR_AGENTFWD|CONFIG_DROPBEAR_AGENTFORWARD|1|0 \ | ||||||
|  |  | ||||||
|  |  | ||||||
| TARGET_CFLAGS += -DARGTYPE=3 -ffunction-sections -fdata-sections -flto | TARGET_CFLAGS += -DARGTYPE=3 -flto | ||||||
| TARGET_LDFLAGS += -Wl,--gc-sections -flto=jobserver | TARGET_LDFLAGS += -flto=jobserver | ||||||
|  |  | ||||||
| db_opt_add     =echo '\#define $(1) $(2)' >> $(PKG_BUILD_DIR)/localoptions.h | db_opt_add     =echo '\#define $(1) $(2)' >> $(PKG_BUILD_DIR)/localoptions.h | ||||||
| db_opt_replace =$(ESED) 's,^(\#define $(1)) .*$$$$,\1 $(2),g' $(PKG_BUILD_DIR)/sysoptions.h | db_opt_replace =$(ESED) 's,^(\#define $(1)) .*$$$$,\1 $(2),g' $(PKG_BUILD_DIR)/sysoptions.h | ||||||
|   | |||||||
| @@ -32,6 +32,8 @@ PKG_CONFIG_DEPENDS:= \ | |||||||
| 	CONFIG_DRIVER_11AX_SUPPORT \ | 	CONFIG_DRIVER_11AX_SUPPORT \ | ||||||
| 	CONFIG_WPA_ENABLE_WEP | 	CONFIG_WPA_ENABLE_WEP | ||||||
|  |  | ||||||
|  | PKG_BUILD_FLAGS:=gc-sections | ||||||
|  |  | ||||||
| EAPOL_TEST_PROVIDERS:=eapol-test eapol-test-openssl eapol-test-wolfssl | EAPOL_TEST_PROVIDERS:=eapol-test eapol-test-openssl eapol-test-wolfssl | ||||||
|  |  | ||||||
| SUPPLICANT_PROVIDERS:= | SUPPLICANT_PROVIDERS:= | ||||||
| @@ -585,8 +587,8 @@ TARGET_CPPFLAGS := \ | |||||||
| 	-D_GNU_SOURCE \ | 	-D_GNU_SOURCE \ | ||||||
| 	$(if $(CONFIG_WPA_MSG_MIN_PRIORITY),-DCONFIG_MSG_MIN_PRIORITY=$(CONFIG_WPA_MSG_MIN_PRIORITY)) | 	$(if $(CONFIG_WPA_MSG_MIN_PRIORITY),-DCONFIG_MSG_MIN_PRIORITY=$(CONFIG_WPA_MSG_MIN_PRIORITY)) | ||||||
|  |  | ||||||
| TARGET_CFLAGS += -ffunction-sections -fdata-sections -flto | TARGET_CFLAGS += -flto | ||||||
| TARGET_LDFLAGS += -Wl,--gc-sections -flto=jobserver -fuse-linker-plugin -lubox -lubus | TARGET_LDFLAGS += -flto=jobserver -fuse-linker-plugin -lubox -lubus | ||||||
|  |  | ||||||
| ifdef CONFIG_PACKAGE_kmod-cfg80211 | ifdef CONFIG_PACKAGE_kmod-cfg80211 | ||||||
|   TARGET_LDFLAGS += -lm -lnl-tiny |   TARGET_LDFLAGS += -lm -lnl-tiny | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ PKG_VERSION:=$(PKG_RELEASE_VERSION).git-$(PKG_SOURCE_DATE) | |||||||
| PKG_BUILD_DEPENDS:=libpcap | PKG_BUILD_DEPENDS:=libpcap | ||||||
|  |  | ||||||
| PKG_ASLR_PIE_REGULAR:=1 | PKG_ASLR_PIE_REGULAR:=1 | ||||||
|  | PKG_BUILD_FLAGS:=gc-sections | ||||||
| PKG_BUILD_PARALLEL:=1 | PKG_BUILD_PARALLEL:=1 | ||||||
| PKG_INSTALL:=1 | PKG_INSTALL:=1 | ||||||
|  |  | ||||||
| @@ -192,8 +193,8 @@ $(call Build/Configure/Default,, \ | |||||||
| 		$(PKG_BUILD_DIR)/pppd/plugins/pppoatm/linux/ | 		$(PKG_BUILD_DIR)/pppd/plugins/pppoatm/linux/ | ||||||
| endef | endef | ||||||
|  |  | ||||||
| TARGET_CFLAGS += -ffunction-sections -fdata-sections -flto | TARGET_CFLAGS += -flto | ||||||
| TARGET_LDFLAGS += -Wl,--gc-sections -flto -fuse-linker-plugin | TARGET_LDFLAGS += -flto -fuse-linker-plugin | ||||||
|  |  | ||||||
| MAKE_FLAGS += COPTS="$(TARGET_CFLAGS)" \ | MAKE_FLAGS += COPTS="$(TARGET_CFLAGS)" \ | ||||||
| 		PRECOMPILED_FILTER=1 \ | 		PRECOMPILED_FILTER=1 \ | ||||||
|   | |||||||
| @@ -19,6 +19,8 @@ PKG_BUILD_DEPENDS:=iptables | |||||||
| PKG_LICENSE:=GPL-2.0 | PKG_LICENSE:=GPL-2.0 | ||||||
| PKG_CPE_ID:=cpe:/a:iproute2_project:iproute2 | PKG_CPE_ID:=cpe:/a:iproute2_project:iproute2 | ||||||
|  |  | ||||||
|  | PKG_BUILD_FLAGS:=gc-sections | ||||||
|  |  | ||||||
| include $(INCLUDE_DIR)/kernel.mk | include $(INCLUDE_DIR)/kernel.mk | ||||||
| include $(INCLUDE_DIR)/package.mk | include $(INCLUDE_DIR)/package.mk | ||||||
| include $(INCLUDE_DIR)/nls.mk | include $(INCLUDE_DIR)/nls.mk | ||||||
| @@ -171,8 +173,8 @@ define Build/Configure | |||||||
| 		> $(PKG_BUILD_DIR)/include/SNAPSHOT.h | 		> $(PKG_BUILD_DIR)/include/SNAPSHOT.h | ||||||
| endef | endef | ||||||
|  |  | ||||||
| TARGET_CFLAGS += -ffunction-sections -fdata-sections -flto | TARGET_CFLAGS += -flto | ||||||
| TARGET_LDFLAGS += -Wl,--gc-sections -Wl,--as-needed | TARGET_LDFLAGS += -Wl,--as-needed | ||||||
| TARGET_CPPFLAGS += -I$(STAGING_DIR)/usr/include/libnl-tiny | TARGET_CPPFLAGS += -I$(STAGING_DIR)/usr/include/libnl-tiny | ||||||
|  |  | ||||||
| MAKE_FLAGS += \ | MAKE_FLAGS += \ | ||||||
|   | |||||||
| @@ -20,6 +20,7 @@ PKG_FIXUP:=autoreconf | |||||||
| PKG_FLAGS:=nonshared | PKG_FLAGS:=nonshared | ||||||
|  |  | ||||||
| PKG_INSTALL:=1 | PKG_INSTALL:=1 | ||||||
|  | PKG_BUILD_FLAGS:=gc-sections | ||||||
| PKG_BUILD_PARALLEL:=1 | PKG_BUILD_PARALLEL:=1 | ||||||
| PKG_LICENSE:=GPL-2.0 | PKG_LICENSE:=GPL-2.0 | ||||||
| PKG_CPE_ID:=cpe:/a:netfilter_core_team:iptables | PKG_CPE_ID:=cpe:/a:netfilter_core_team:iptables | ||||||
| @@ -591,12 +592,8 @@ TARGET_CPPFLAGS := \ | |||||||
| TARGET_CFLAGS += \ | TARGET_CFLAGS += \ | ||||||
| 	-I$(PKG_BUILD_DIR)/include \ | 	-I$(PKG_BUILD_DIR)/include \ | ||||||
| 	-I$(LINUX_DIR)/user_headers/include \ | 	-I$(LINUX_DIR)/user_headers/include \ | ||||||
| 	-ffunction-sections -fdata-sections \ |  | ||||||
| 	-DNO_LEGACY | 	-DNO_LEGACY | ||||||
|  |  | ||||||
| TARGET_LDFLAGS += \ |  | ||||||
| 	-Wl,--gc-sections |  | ||||||
|  |  | ||||||
| CONFIGURE_ARGS += \ | CONFIGURE_ARGS += \ | ||||||
| 	--enable-shared \ | 	--enable-shared \ | ||||||
| 	--enable-static \ | 	--enable-static \ | ||||||
|   | |||||||
| @@ -18,6 +18,8 @@ PKG_HASH:=f167bbe947dd53bb9ebc0c1dcef5db6ad73ac1d6084f2c6f9376c5c360cc4d4e | |||||||
| PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name> | PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name> | ||||||
| PKG_LICENSE:=GPL-2.0 | PKG_LICENSE:=GPL-2.0 | ||||||
|  |  | ||||||
|  | PKG_BUILD_FLAGS:=gc-sections | ||||||
|  |  | ||||||
| include $(INCLUDE_DIR)/package.mk | include $(INCLUDE_DIR)/package.mk | ||||||
|  |  | ||||||
| define Package/iw | define Package/iw | ||||||
| @@ -55,8 +57,8 @@ ifeq ($(BUILD_VARIANT),full) | |||||||
| endif | endif | ||||||
|  |  | ||||||
| MAKE_FLAGS += \ | MAKE_FLAGS += \ | ||||||
| 	CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -ffunction-sections -fdata-sections" \ | 	CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \ | ||||||
| 	LDFLAGS="$(TARGET_LDFLAGS) -Wl,--gc-sections -flto" \ | 	LDFLAGS="$(TARGET_LDFLAGS) -flto" \ | ||||||
| 	NL1FOUND="" NL2FOUND=Y \ | 	NL1FOUND="" NL2FOUND=Y \ | ||||||
| 	NLLIBNAME="libnl-tiny" \ | 	NLLIBNAME="libnl-tiny" \ | ||||||
| 	LIBS="-lm -lnl-tiny" \ | 	LIBS="-lm -lnl-tiny" \ | ||||||
|   | |||||||
| @@ -20,6 +20,7 @@ PKG_LICENSE:=BSD-3-Clause | |||||||
| PKG_CPE_ID:=cpe:/a:tcpdump:tcpdump | PKG_CPE_ID:=cpe:/a:tcpdump:tcpdump | ||||||
|  |  | ||||||
| PKG_INSTALL:=1 | PKG_INSTALL:=1 | ||||||
|  | PKG_BUILD_FLAGS:=gc-sections | ||||||
| PKG_BUILD_PARALLEL:=1 | PKG_BUILD_PARALLEL:=1 | ||||||
|  |  | ||||||
| include $(INCLUDE_DIR)/package.mk | include $(INCLUDE_DIR)/package.mk | ||||||
| @@ -48,9 +49,6 @@ CONFIGURE_ARGS += \ | |||||||
| 	--without-crypto \ | 	--without-crypto \ | ||||||
| 	$(call autoconf_bool,CONFIG_IPV6,ipv6) | 	$(call autoconf_bool,CONFIG_IPV6,ipv6) | ||||||
|  |  | ||||||
| TARGET_CFLAGS += -ffunction-sections -fdata-sections |  | ||||||
| TARGET_LDFLAGS += -Wl,--gc-sections |  | ||||||
|  |  | ||||||
| ifeq ($(BUILD_VARIANT),mini) | ifeq ($(BUILD_VARIANT),mini) | ||||||
|   TARGET_CFLAGS += -DTCPDUMP_MINI |   TARGET_CFLAGS += -DTCPDUMP_MINI | ||||||
|   CONFIGURE_ARGS += --disable-smb |   CONFIGURE_ARGS += --disable-smb | ||||||
|   | |||||||
| @@ -14,6 +14,7 @@ PKG_LICENSE:=GPL-2.0 | |||||||
| PKG_LICENSE_FILES:= | PKG_LICENSE_FILES:= | ||||||
|  |  | ||||||
| PKG_FLAGS:=nonshared | PKG_FLAGS:=nonshared | ||||||
|  | PKG_BUILD_FLAGS:=gc-sections | ||||||
|  |  | ||||||
| include $(INCLUDE_DIR)/package.mk | include $(INCLUDE_DIR)/package.mk | ||||||
| include $(INCLUDE_DIR)/cmake.mk | include $(INCLUDE_DIR)/cmake.mk | ||||||
| @@ -32,9 +33,7 @@ define Package/umbim/description | |||||||
| endef | endef | ||||||
|  |  | ||||||
| TARGET_CFLAGS += \ | TARGET_CFLAGS += \ | ||||||
| 	-I$(STAGING_DIR)/usr/include -ffunction-sections -fdata-sections | 	-I$(STAGING_DIR)/usr/include | ||||||
|  |  | ||||||
| TARGET_LDFLAGS += -Wl,--gc-sections |  | ||||||
|  |  | ||||||
| define Package/umbim/install | define Package/umbim/install | ||||||
| 	$(INSTALL_DIR) $(1)/sbin | 	$(INSTALL_DIR) $(1)/sbin | ||||||
|   | |||||||
| @@ -14,6 +14,7 @@ PKG_LICENSE:=GPL-2.0 | |||||||
| PKG_LICENSE_FILES:= | PKG_LICENSE_FILES:= | ||||||
|  |  | ||||||
| PKG_FLAGS:=nonshared | PKG_FLAGS:=nonshared | ||||||
|  | PKG_BUILD_FLAGS:=gc-sections | ||||||
|  |  | ||||||
| include $(INCLUDE_DIR)/package.mk | include $(INCLUDE_DIR)/package.mk | ||||||
| include $(INCLUDE_DIR)/cmake.mk | include $(INCLUDE_DIR)/cmake.mk | ||||||
| @@ -33,13 +34,9 @@ endef | |||||||
|  |  | ||||||
| TARGET_CFLAGS += \ | TARGET_CFLAGS += \ | ||||||
| 	-I$(STAGING_DIR)/usr/include \ | 	-I$(STAGING_DIR)/usr/include \ | ||||||
| 	-ffunction-sections \ |  | ||||||
| 	-fdata-sections \ |  | ||||||
| 	-Wno-error=dangling-pointer \ | 	-Wno-error=dangling-pointer \ | ||||||
| 	-Wno-error=maybe-uninitialized | 	-Wno-error=maybe-uninitialized | ||||||
|  |  | ||||||
| TARGET_LDFLAGS += -Wl,--gc-sections |  | ||||||
|  |  | ||||||
| CMAKE_OPTIONS += \ | CMAKE_OPTIONS += \ | ||||||
| 	-DDEBUG=1 | 	-DDEBUG=1 | ||||||
|  |  | ||||||
|   | |||||||
| @@ -28,6 +28,8 @@ PKG_CONFIG_DEPENDS += \ | |||||||
|  |  | ||||||
| HOST_BUILD_DEPENDS:=libubox/host | HOST_BUILD_DEPENDS:=libubox/host | ||||||
|  |  | ||||||
|  | PKG_BUILD_FLAGS:=gc-sections | ||||||
|  |  | ||||||
| include $(INCLUDE_DIR)/package.mk | include $(INCLUDE_DIR)/package.mk | ||||||
| include $(INCLUDE_DIR)/host-build.mk | include $(INCLUDE_DIR)/host-build.mk | ||||||
| include $(INCLUDE_DIR)/cmake.mk | include $(INCLUDE_DIR)/cmake.mk | ||||||
| @@ -57,7 +59,6 @@ define Package/opkg/conffiles | |||||||
| /etc/opkg/customfeeds.conf | /etc/opkg/customfeeds.conf | ||||||
| endef | endef | ||||||
|  |  | ||||||
| TARGET_CFLAGS += -ffunction-sections -fdata-sections |  | ||||||
| EXTRA_CFLAGS += $(TARGET_CPPFLAGS) | EXTRA_CFLAGS += $(TARGET_CPPFLAGS) | ||||||
|  |  | ||||||
| CMAKE_OPTIONS += \ | CMAKE_OPTIONS += \ | ||||||
|   | |||||||
| @@ -23,6 +23,7 @@ PKG_BUILD_DEPENDS:=util-linux e2fsprogs/host | |||||||
| PKG_INSTALL:=1 | PKG_INSTALL:=1 | ||||||
|  |  | ||||||
| PKG_BUILD_PARALLEL:=1 | PKG_BUILD_PARALLEL:=1 | ||||||
|  | PKG_BUILD_FLAGS:=gc-sections | ||||||
|  |  | ||||||
| include $(INCLUDE_DIR)/package.mk | include $(INCLUDE_DIR)/package.mk | ||||||
| include $(INCLUDE_DIR)/host-build.mk | include $(INCLUDE_DIR)/host-build.mk | ||||||
| @@ -142,7 +143,7 @@ $(call Package/e2fsprogs) | |||||||
|   DEPENDS:= +e2fsprogs |   DEPENDS:= +e2fsprogs | ||||||
| endef | endef | ||||||
|  |  | ||||||
| TARGET_CFLAGS += $(FPIC) -ffunction-sections -fdata-sections -flto | TARGET_CFLAGS += $(FPIC) -flto | ||||||
|  |  | ||||||
| TARGET_LDFLAGS += -flto | TARGET_LDFLAGS += -flto | ||||||
|  |  | ||||||
| @@ -171,7 +172,6 @@ define Build/Compile | |||||||
| 		V=$(if $(findstring c,$(OPENWRT_VERBOSE)),1,) \ | 		V=$(if $(findstring c,$(OPENWRT_VERBOSE)),1,) \ | ||||||
| 		subst | 		subst | ||||||
| 	+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \ | 	+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \ | ||||||
| 		LDFLAGS=-Wl,--gc-sections \ |  | ||||||
| 		BUILDCC="$(HOSTCC)" \ | 		BUILDCC="$(HOSTCC)" \ | ||||||
| 		DESTDIR="$(PKG_INSTALL_DIR)" \ | 		DESTDIR="$(PKG_INSTALL_DIR)" \ | ||||||
| 		ELF_OTHER_LIBS="$(TARGET_LDFLAGS) -luuid" \ | 		ELF_OTHER_LIBS="$(TARGET_LDFLAGS) -luuid" \ | ||||||
|   | |||||||
| @@ -19,6 +19,7 @@ PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name> | |||||||
| PKG_CPE_ID:=cpe:/a:mdadm_project:mdadm | PKG_CPE_ID:=cpe:/a:mdadm_project:mdadm | ||||||
|  |  | ||||||
| PKG_BUILD_PARALLEL:=1 | PKG_BUILD_PARALLEL:=1 | ||||||
|  | PKG_BUILD_FLAGS:=gc-sections | ||||||
|  |  | ||||||
| include $(INCLUDE_DIR)/package.mk | include $(INCLUDE_DIR)/package.mk | ||||||
|  |  | ||||||
| @@ -43,7 +44,6 @@ define Package/mdadm/conffiles | |||||||
| endef | endef | ||||||
|  |  | ||||||
| TARGET_CFLAGS += \ | TARGET_CFLAGS += \ | ||||||
| 	-ffunction-sections -fdata-sections \ |  | ||||||
| 	-DHAVE_STDINT_H -DNO_COROSYNC -DNO_DLM -DUSE_PTHREADS \ | 	-DHAVE_STDINT_H -DNO_COROSYNC -DNO_DLM -DUSE_PTHREADS \ | ||||||
| 	-DCONFFILE='\"/var/etc/mdadm.conf\"' \ | 	-DCONFFILE='\"/var/etc/mdadm.conf\"' \ | ||||||
| 	-DMAP_DIR='\"/var/run/mdadm\"' \ | 	-DMAP_DIR='\"/var/run/mdadm\"' \ | ||||||
| @@ -53,8 +53,6 @@ TARGET_CFLAGS += \ | |||||||
|  |  | ||||||
| TARGET_CXFLAGS = -DNO_LIBUDEV | TARGET_CXFLAGS = -DNO_LIBUDEV | ||||||
|  |  | ||||||
| TARGET_LDFLAGS += -Wl,--gc-sections |  | ||||||
|  |  | ||||||
| MAKE_FLAGS += \ | MAKE_FLAGS += \ | ||||||
| 		CHECK_RUN_DIR=0 \ | 		CHECK_RUN_DIR=0 \ | ||||||
| 		CXFLAGS="$(TARGET_CXFLAGS)" | 		CXFLAGS="$(TARGET_CXFLAGS)" | ||||||
|   | |||||||
| @@ -19,6 +19,7 @@ PKG_INSTALL:=1 | |||||||
| PKG_FIXUP:=autoreconf | PKG_FIXUP:=autoreconf | ||||||
|  |  | ||||||
| PKG_FLAGS:=nonshared | PKG_FLAGS:=nonshared | ||||||
|  | PKG_BUILD_FLAGS:=gc-sections | ||||||
|  |  | ||||||
| PKG_BUILD_DEPENDS:=util-linux | PKG_BUILD_DEPENDS:=util-linux | ||||||
|  |  | ||||||
| @@ -64,9 +65,6 @@ CONFIGURE_ARGS += \ | |||||||
| 	--without-zstd \ | 	--without-zstd \ | ||||||
| 	--without-lzo | 	--without-lzo | ||||||
|  |  | ||||||
| TARGET_CFLAGS += -ffunction-sections -fdata-sections |  | ||||||
| TARGET_LDFLAGS += -Wl,--gc-sections |  | ||||||
|  |  | ||||||
| define Package/ubi-utils/install | define Package/ubi-utils/install | ||||||
| 	$(INSTALL_DIR) $(1)/usr/sbin | 	$(INSTALL_DIR) $(1)/usr/sbin | ||||||
| 	$(INSTALL_BIN) \ | 	$(INSTALL_BIN) \ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user