aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/package.mk7
-rw-r--r--package/boot/kexec-tools/Makefile5
-rw-r--r--package/libs/libevent2/Makefile6
-rw-r--r--package/libs/libnl/Makefile4
-rw-r--r--package/libs/mbedtls/Makefile3
-rw-r--r--package/libs/openssl/Makefile5
-rw-r--r--package/network/config/firewall/Makefile6
-rw-r--r--package/network/services/dropbear/Makefile6
-rw-r--r--package/network/services/hostapd/Makefile6
-rw-r--r--package/network/services/ppp/Makefile5
-rw-r--r--package/network/utils/iproute2/Makefile6
-rw-r--r--package/network/utils/iptables/Makefile5
-rw-r--r--package/network/utils/iw/Makefile6
-rw-r--r--package/network/utils/tcpdump/Makefile4
-rw-r--r--package/network/utils/umbim/Makefile5
-rw-r--r--package/network/utils/uqmi/Makefile5
-rw-r--r--package/system/opkg/Makefile3
-rw-r--r--package/utils/e2fsprogs/Makefile4
-rw-r--r--package/utils/mdadm/Makefile4
-rw-r--r--package/utils/mtd-utils/Makefile4
20 files changed, 51 insertions, 48 deletions
diff --git a/include/package.mk b/include/package.mk
index a1717a603d..4d97cda00f 100644
--- a/include/package.mk
+++ b/include/package.mk
@@ -30,7 +30,7 @@ ifneq ($(strip $(PKG_USE_MIPS16)),1)
PKG_BUILD_FLAGS+=no-mips16
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),)
$(error unknown PKG_BUILD_FLAGS: $(__unknown_flags))
endif
@@ -51,6 +51,11 @@ ifdef CONFIG_USE_MIPS16
TARGET_CXXFLAGS += -mips16 -minterlink-mips16
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)/prereq.mk
diff --git a/package/boot/kexec-tools/Makefile b/package/boot/kexec-tools/Makefile
index 0cb7688a24..7f06ec7d64 100644
--- a/package/boot/kexec-tools/Makefile
+++ b/package/boot/kexec-tools/Makefile
@@ -17,6 +17,8 @@ PKG_HASH:=7fe36a064101cd5c515e41b2be393dce3ca88adce59d6ee668e0af7c0c4570cd
PKG_CONFIG_DEPENDS := CONFIG_KEXEC_ZLIB CONFIG_KEXEC_LZMA
+PKG_BUILD_FLAGS:=gc-sections
+
include $(INCLUDE_DIR)/package.mk
define Package/kexec-tools/Default
@@ -82,9 +84,6 @@ CONFIGURE_ARGS = \
$(if $(CONFIG_KEXEC_LZMA),--with,--without)-lzma \
TARGET_LD="$(TARGET_CROSS)ld"
-TARGET_CFLAGS += -ffunction-sections -fdata-sections
-TARGET_LDFLAGS += -Wl,--gc-sections
-
CONFIGURE_VARS += \
BUILD_CC="$(HOSTCC)" \
TARGET_CC="$(TARGET_CC)"
diff --git a/package/libs/libevent2/Makefile b/package/libs/libevent2/Makefile
index 85c159c2a6..50dd19bf00 100644
--- a/package/libs/libevent2/Makefile
+++ b/package/libs/libevent2/Makefile
@@ -26,6 +26,8 @@ PKG_CONFIG_DEPENDS:= \
CONFIG_PACKAGE_libevent2-pthreads \
CONFIG_PACKAGE_libevent2-mbedtls
+PKG_BUILD_FLAGS:=gc-sections
+
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
@@ -112,8 +114,8 @@ define Package/libevent2-pthreads/description
threading & locking.
endef
-TARGET_CFLAGS += $(FPIC) -ffunction-sections -fdata-sections -flto
-TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed -flto
+TARGET_CFLAGS += $(FPIC) -flto
+TARGET_LDFLAGS += -Wl,--as-needed -flto
CMAKE_OPTIONS += \
-DEVENT__DISABLE_BENCHMARK:BOOL=ON \
diff --git a/package/libs/libnl/Makefile b/package/libs/libnl/Makefile
index 71b043a9e5..56549dcc0a 100644
--- a/package/libs/libnl/Makefile
+++ b/package/libs/libnl/Makefile
@@ -20,6 +20,8 @@ PKG_CPE_ID:=cpe:/a:libnl_project:libnl
PKG_INSTALL:=1
PKG_FIXUP:=autoreconf
+PKG_BUILD_FLAGS:=gc-sections
+
include $(INCLUDE_DIR)/package.mk
define Package/libnl/default
@@ -80,7 +82,7 @@ define Package/libnl/description
message construction and parsing, object caching system, etc.
endef
-TARGET_CFLAGS += -ffunction-sections -fdata-sections $(FPIC)
+TARGET_CFLAGS += $(FPIC)
CONFIGURE_ARGS += \
--disable-debug
diff --git a/package/libs/mbedtls/Makefile b/package/libs/mbedtls/Makefile
index 7c167e2296..f49bb24de6 100644
--- a/package/libs/mbedtls/Makefile
+++ b/package/libs/mbedtls/Makefile
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=mbedtls
PKG_VERSION:=2.28.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_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)
endef
-TARGET_CFLAGS += -ffunction-sections -fdata-sections
TARGET_CFLAGS := $(filter-out -O%,$(TARGET_CFLAGS))
CMAKE_OPTIONS += \
diff --git a/package/libs/openssl/Makefile b/package/libs/openssl/Makefile
index 7918d40347..9fe5da9dd3 100644
--- a/package/libs/openssl/Makefile
+++ b/package/libs/openssl/Makefile
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=openssl
PKG_VERSION:=3.0.8
PKG_RELEASE:=4
-PKG_BUILD_FLAGS:=no-mips16
+PKG_BUILD_FLAGS:=no-mips16 gc-sections
PKG_BUILD_PARALLEL:=1
@@ -339,8 +339,7 @@ define Build/Configure
)
endef
-TARGET_CFLAGS += $(FPIC) -ffunction-sections -fdata-sections
-TARGET_LDFLAGS += -Wl,--gc-sections
+TARGET_CFLAGS += $(FPIC)
define Build/Compile
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
diff --git a/package/network/config/firewall/Makefile b/package/network/config/firewall/Makefile
index e4a3ad97f7..95e2ae4b67 100644
--- a/package/network/config/firewall/Makefile
+++ b/package/network/config/firewall/Makefile
@@ -21,6 +21,8 @@ PKG_LICENSE:=ISC
PKG_CONFIG_DEPENDS := CONFIG_IPV6
+PKG_BUILD_FLAGS:=gc-sections
+
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
@@ -42,8 +44,8 @@ define Package/firewall/conffiles
/etc/firewall.user
endef
-TARGET_CFLAGS += -ffunction-sections -fdata-sections -flto
-TARGET_LDFLAGS += -Wl,--gc-sections -flto
+TARGET_CFLAGS += -flto
+TARGET_LDFLAGS += -flto
CMAKE_OPTIONS += $(if $(CONFIG_IPV6),,-DDISABLE_IPV6=1)
define Package/firewall/install
diff --git a/package/network/services/dropbear/Makefile b/package/network/services/dropbear/Makefile
index ddd19bfa55..1b3fdad067 100644
--- a/package/network/services/dropbear/Makefile
+++ b/package/network/services/dropbear/Makefile
@@ -23,7 +23,7 @@ PKG_CPE_ID:=cpe:/a:matt_johnston:dropbear_ssh_server
PKG_BUILD_PARALLEL:=1
PKG_ASLR_PIE_REGULAR:=1
-PKG_BUILD_FLAGS:=no-mips16
+PKG_BUILD_FLAGS:=no-mips16 gc-sections
PKG_FIXUP:=autoreconf
PKG_FLAGS:=nonshared
@@ -142,8 +142,8 @@ DB_OPT_CONFIG = \
DROPBEAR_SVR_AGENTFWD|CONFIG_DROPBEAR_AGENTFORWARD|1|0 \
-TARGET_CFLAGS += -DARGTYPE=3 -ffunction-sections -fdata-sections -flto
-TARGET_LDFLAGS += -Wl,--gc-sections -flto=jobserver
+TARGET_CFLAGS += -DARGTYPE=3 -flto
+TARGET_LDFLAGS += -flto=jobserver
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
diff --git a/package/network/services/hostapd/Makefile b/package/network/services/hostapd/Makefile
index 889f145504..1b077530e1 100644
--- a/package/network/services/hostapd/Makefile
+++ b/package/network/services/hostapd/Makefile
@@ -32,6 +32,8 @@ PKG_CONFIG_DEPENDS:= \
CONFIG_DRIVER_11AX_SUPPORT \
CONFIG_WPA_ENABLE_WEP
+PKG_BUILD_FLAGS:=gc-sections
+
EAPOL_TEST_PROVIDERS:=eapol-test eapol-test-openssl eapol-test-wolfssl
SUPPLICANT_PROVIDERS:=
@@ -585,8 +587,8 @@ TARGET_CPPFLAGS := \
-D_GNU_SOURCE \
$(if $(CONFIG_WPA_MSG_MIN_PRIORITY),-DCONFIG_MSG_MIN_PRIORITY=$(CONFIG_WPA_MSG_MIN_PRIORITY))
-TARGET_CFLAGS += -ffunction-sections -fdata-sections -flto
-TARGET_LDFLAGS += -Wl,--gc-sections -flto=jobserver -fuse-linker-plugin -lubox -lubus
+TARGET_CFLAGS += -flto
+TARGET_LDFLAGS += -flto=jobserver -fuse-linker-plugin -lubox -lubus
ifdef CONFIG_PACKAGE_kmod-cfg80211
TARGET_LDFLAGS += -lm -lnl-tiny
diff --git a/package/network/services/ppp/Makefile b/package/network/services/ppp/Makefile
index 8476204e14..48f2091a1f 100644
--- a/package/network/services/ppp/Makefile
+++ b/package/network/services/ppp/Makefile
@@ -26,6 +26,7 @@ PKG_VERSION:=$(PKG_RELEASE_VERSION).git-$(PKG_SOURCE_DATE)
PKG_BUILD_DEPENDS:=libpcap
PKG_ASLR_PIE_REGULAR:=1
+PKG_BUILD_FLAGS:=gc-sections
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
@@ -192,8 +193,8 @@ $(call Build/Configure/Default,, \
$(PKG_BUILD_DIR)/pppd/plugins/pppoatm/linux/
endef
-TARGET_CFLAGS += -ffunction-sections -fdata-sections -flto
-TARGET_LDFLAGS += -Wl,--gc-sections -flto -fuse-linker-plugin
+TARGET_CFLAGS += -flto
+TARGET_LDFLAGS += -flto -fuse-linker-plugin
MAKE_FLAGS += COPTS="$(TARGET_CFLAGS)" \
PRECOMPILED_FILTER=1 \
diff --git a/package/network/utils/iproute2/Makefile b/package/network/utils/iproute2/Makefile
index 302d57bf8b..b3a809e0b5 100644
--- a/package/network/utils/iproute2/Makefile
+++ b/package/network/utils/iproute2/Makefile
@@ -19,6 +19,8 @@ PKG_BUILD_DEPENDS:=iptables
PKG_LICENSE:=GPL-2.0
PKG_CPE_ID:=cpe:/a:iproute2_project:iproute2
+PKG_BUILD_FLAGS:=gc-sections
+
include $(INCLUDE_DIR)/kernel.mk
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
@@ -171,8 +173,8 @@ define Build/Configure
> $(PKG_BUILD_DIR)/include/SNAPSHOT.h
endef
-TARGET_CFLAGS += -ffunction-sections -fdata-sections -flto
-TARGET_LDFLAGS += -Wl,--gc-sections -Wl,--as-needed
+TARGET_CFLAGS += -flto
+TARGET_LDFLAGS += -Wl,--as-needed
TARGET_CPPFLAGS += -I$(STAGING_DIR)/usr/include/libnl-tiny
MAKE_FLAGS += \
diff --git a/package/network/utils/iptables/Makefile b/package/network/utils/iptables/Makefile
index e96cfa0b16..0d6d76fc08 100644
--- a/package/network/utils/iptables/Makefile
+++ b/package/network/utils/iptables/Makefile
@@ -20,6 +20,7 @@ PKG_FIXUP:=autoreconf
PKG_FLAGS:=nonshared
PKG_INSTALL:=1
+PKG_BUILD_FLAGS:=gc-sections
PKG_BUILD_PARALLEL:=1
PKG_LICENSE:=GPL-2.0
PKG_CPE_ID:=cpe:/a:netfilter_core_team:iptables
@@ -591,12 +592,8 @@ TARGET_CPPFLAGS := \
TARGET_CFLAGS += \
-I$(PKG_BUILD_DIR)/include \
-I$(LINUX_DIR)/user_headers/include \
- -ffunction-sections -fdata-sections \
-DNO_LEGACY
-TARGET_LDFLAGS += \
- -Wl,--gc-sections
-
CONFIGURE_ARGS += \
--enable-shared \
--enable-static \
diff --git a/package/network/utils/iw/Makefile b/package/network/utils/iw/Makefile
index eb3a9ba091..1eb3cd721a 100644
--- a/package/network/utils/iw/Makefile
+++ b/package/network/utils/iw/Makefile
@@ -18,6 +18,8 @@ PKG_HASH:=f167bbe947dd53bb9ebc0c1dcef5db6ad73ac1d6084f2c6f9376c5c360cc4d4e
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
PKG_LICENSE:=GPL-2.0
+PKG_BUILD_FLAGS:=gc-sections
+
include $(INCLUDE_DIR)/package.mk
define Package/iw
@@ -55,8 +57,8 @@ ifeq ($(BUILD_VARIANT),full)
endif
MAKE_FLAGS += \
- CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -ffunction-sections -fdata-sections" \
- LDFLAGS="$(TARGET_LDFLAGS) -Wl,--gc-sections -flto" \
+ CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
+ LDFLAGS="$(TARGET_LDFLAGS) -flto" \
NL1FOUND="" NL2FOUND=Y \
NLLIBNAME="libnl-tiny" \
LIBS="-lm -lnl-tiny" \
diff --git a/package/network/utils/tcpdump/Makefile b/package/network/utils/tcpdump/Makefile
index 827a66e860..e07e9feb6d 100644
--- a/package/network/utils/tcpdump/Makefile
+++ b/package/network/utils/tcpdump/Makefile
@@ -20,6 +20,7 @@ PKG_LICENSE:=BSD-3-Clause
PKG_CPE_ID:=cpe:/a:tcpdump:tcpdump
PKG_INSTALL:=1
+PKG_BUILD_FLAGS:=gc-sections
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
@@ -48,9 +49,6 @@ CONFIGURE_ARGS += \
--without-crypto \
$(call autoconf_bool,CONFIG_IPV6,ipv6)
-TARGET_CFLAGS += -ffunction-sections -fdata-sections
-TARGET_LDFLAGS += -Wl,--gc-sections
-
ifeq ($(BUILD_VARIANT),mini)
TARGET_CFLAGS += -DTCPDUMP_MINI
CONFIGURE_ARGS += --disable-smb
diff --git a/package/network/utils/umbim/Makefile b/package/network/utils/umbim/Makefile
index 3563949c67..1a09984a43 100644
--- a/package/network/utils/umbim/Makefile
+++ b/package/network/utils/umbim/Makefile
@@ -14,6 +14,7 @@ PKG_LICENSE:=GPL-2.0
PKG_LICENSE_FILES:=
PKG_FLAGS:=nonshared
+PKG_BUILD_FLAGS:=gc-sections
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
@@ -32,9 +33,7 @@ define Package/umbim/description
endef
TARGET_CFLAGS += \
- -I$(STAGING_DIR)/usr/include -ffunction-sections -fdata-sections
-
-TARGET_LDFLAGS += -Wl,--gc-sections
+ -I$(STAGING_DIR)/usr/include
define Package/umbim/install
$(INSTALL_DIR) $(1)/sbin
diff --git a/package/network/utils/uqmi/Makefile b/package/network/utils/uqmi/Makefile
index 02265d400c..989e7c11b6 100644
--- a/package/network/utils/uqmi/Makefile
+++ b/package/network/utils/uqmi/Makefile
@@ -14,6 +14,7 @@ PKG_LICENSE:=GPL-2.0
PKG_LICENSE_FILES:=
PKG_FLAGS:=nonshared
+PKG_BUILD_FLAGS:=gc-sections
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
@@ -33,13 +34,9 @@ endef
TARGET_CFLAGS += \
-I$(STAGING_DIR)/usr/include \
- -ffunction-sections \
- -fdata-sections \
-Wno-error=dangling-pointer \
-Wno-error=maybe-uninitialized
-TARGET_LDFLAGS += -Wl,--gc-sections
-
CMAKE_OPTIONS += \
-DDEBUG=1
diff --git a/package/system/opkg/Makefile b/package/system/opkg/Makefile
index 83c9dab1b0..1841e190e6 100644
--- a/package/system/opkg/Makefile
+++ b/package/system/opkg/Makefile
@@ -28,6 +28,8 @@ PKG_CONFIG_DEPENDS += \
HOST_BUILD_DEPENDS:=libubox/host
+PKG_BUILD_FLAGS:=gc-sections
+
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/cmake.mk
@@ -57,7 +59,6 @@ define Package/opkg/conffiles
/etc/opkg/customfeeds.conf
endef
-TARGET_CFLAGS += -ffunction-sections -fdata-sections
EXTRA_CFLAGS += $(TARGET_CPPFLAGS)
CMAKE_OPTIONS += \
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) \