treewide: add support for "lto" 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-lto". Some packages used LTO, but not the linker plugin. This unifies 'em all to attempt to produce better code. Quoting man gcc(1): "This improves the quality of optimization by exposing more code to the link-time optimizer." Also use -flto=auto instead of -flto=jobserver, as it's not guaranteed that every buildsystem uses +$(MAKE) correctly. Signed-off-by: Andre Heider <a.heider@gmail.com>
This commit is contained in:
parent
da3700988d
commit
07730ff346
23 changed files with 46 additions and 67 deletions
|
@ -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 gc-sections no-gc-sections,$(PKG_BUILD_FLAGS))
|
__unknown_flags=$(filter-out no-iremap no-mips16 gc-sections no-gc-sections lto no-lto,$(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
|
||||||
|
@ -56,6 +56,11 @@ ifeq ($(call pkg_build_flag,gc-sections,0),1)
|
||||||
TARGET_CXXFLAGS+= -ffunction-sections -fdata-sections
|
TARGET_CXXFLAGS+= -ffunction-sections -fdata-sections
|
||||||
TARGET_LDFLAGS+= -Wl,--gc-sections
|
TARGET_LDFLAGS+= -Wl,--gc-sections
|
||||||
endif
|
endif
|
||||||
|
ifeq ($(call pkg_build_flag,lto,0),1)
|
||||||
|
TARGET_CFLAGS+= -flto=auto -fno-fat-lto-objects
|
||||||
|
TARGET_CXXFLAGS+= -flto=auto -fno-fat-lto-objects
|
||||||
|
TARGET_LDFLAGS+= -flto=auto -fuse-linker-plugin
|
||||||
|
endif
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/hardening.mk
|
include $(INCLUDE_DIR)/hardening.mk
|
||||||
include $(INCLUDE_DIR)/prereq.mk
|
include $(INCLUDE_DIR)/prereq.mk
|
||||||
|
|
|
@ -19,6 +19,8 @@ PKG_LICENSE:=MIT
|
||||||
PKG_LICENSE_FILES:=LICENSE
|
PKG_LICENSE_FILES:=LICENSE
|
||||||
PKG_CPE_ID:=cpe:/a:jansson_project:jansson
|
PKG_CPE_ID:=cpe:/a:jansson_project:jansson
|
||||||
|
|
||||||
|
PKG_BUILD_FLAGS:=lto
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
include $(INCLUDE_DIR)/cmake.mk
|
include $(INCLUDE_DIR)/cmake.mk
|
||||||
|
|
||||||
|
@ -41,9 +43,6 @@ define Package/jansson/description
|
||||||
Jansson is a C library for encoding, decoding and manipulating JSON data
|
Jansson is a C library for encoding, decoding and manipulating JSON data
|
||||||
endef
|
endef
|
||||||
|
|
||||||
TARGET_CFLAGS += -flto
|
|
||||||
TARGET_LDFLAGS += -flto
|
|
||||||
|
|
||||||
define Package/jansson/install
|
define Package/jansson/install
|
||||||
$(INSTALL_DIR) $(1)/usr/lib
|
$(INSTALL_DIR) $(1)/usr/lib
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libjansson*so.* $(1)/usr/lib/
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libjansson*so.* $(1)/usr/lib/
|
||||||
|
|
|
@ -26,7 +26,7 @@ PKG_CONFIG_DEPENDS:= \
|
||||||
CONFIG_PACKAGE_libevent2-pthreads \
|
CONFIG_PACKAGE_libevent2-pthreads \
|
||||||
CONFIG_PACKAGE_libevent2-mbedtls
|
CONFIG_PACKAGE_libevent2-mbedtls
|
||||||
|
|
||||||
PKG_BUILD_FLAGS:=gc-sections
|
PKG_BUILD_FLAGS:=gc-sections lto
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
include $(INCLUDE_DIR)/cmake.mk
|
include $(INCLUDE_DIR)/cmake.mk
|
||||||
|
@ -114,8 +114,8 @@ define Package/libevent2-pthreads/description
|
||||||
threading & locking.
|
threading & locking.
|
||||||
endef
|
endef
|
||||||
|
|
||||||
TARGET_CFLAGS += $(FPIC) -flto
|
TARGET_CFLAGS += $(FPIC)
|
||||||
TARGET_LDFLAGS += -Wl,--as-needed -flto
|
TARGET_LDFLAGS += -Wl,--as-needed
|
||||||
|
|
||||||
CMAKE_OPTIONS += \
|
CMAKE_OPTIONS += \
|
||||||
-DEVENT__DISABLE_BENCHMARK:BOOL=ON \
|
-DEVENT__DISABLE_BENCHMARK:BOOL=ON \
|
||||||
|
|
|
@ -22,6 +22,7 @@ PKG_LICENSE_FILES:=COPYING
|
||||||
|
|
||||||
PKG_INSTALL:=1
|
PKG_INSTALL:=1
|
||||||
PKG_BUILD_PARALLEL:=1
|
PKG_BUILD_PARALLEL:=1
|
||||||
|
PKG_BUILD_FLAGS:=lto
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
@ -41,8 +42,7 @@ define Package/libnftnl/description
|
||||||
programming interface (API) to the in-kernel nf_tables subsystem.
|
programming interface (API) to the in-kernel nf_tables subsystem.
|
||||||
endef
|
endef
|
||||||
|
|
||||||
TARGET_CFLAGS += $(FPIC) -flto
|
TARGET_CFLAGS += $(FPIC)
|
||||||
TARGET_LDFLAGS += -flto
|
|
||||||
|
|
||||||
CONFIGURE_ARGS += \
|
CONFIGURE_ARGS += \
|
||||||
--enable-static \
|
--enable-static \
|
||||||
|
|
|
@ -17,7 +17,7 @@ PKG_HASH:=b7ee150e49def77c765bc02aac92ddeb0bebefd4cb12aa263d8f95e405221fb8
|
||||||
|
|
||||||
PKG_FIXUP:=libtool libtool-abiver
|
PKG_FIXUP:=libtool libtool-abiver
|
||||||
PKG_INSTALL:=1
|
PKG_INSTALL:=1
|
||||||
PKG_BUILD_FLAGS:=no-mips16
|
PKG_BUILD_FLAGS:=no-mips16 lto
|
||||||
PKG_BUILD_PARALLEL:=1
|
PKG_BUILD_PARALLEL:=1
|
||||||
PKG_LICENSE:=GPL-2.0-or-later
|
PKG_LICENSE:=GPL-2.0-or-later
|
||||||
PKG_LICENSE_FILES:=LICENSING COPYING
|
PKG_LICENSE_FILES:=LICENSING COPYING
|
||||||
|
@ -118,12 +118,9 @@ endef
|
||||||
TARGET_CFLAGS += \
|
TARGET_CFLAGS += \
|
||||||
$(FPIC) \
|
$(FPIC) \
|
||||||
-fomit-frame-pointer \
|
-fomit-frame-pointer \
|
||||||
-flto \
|
|
||||||
-DFP_MAX_BITS=8192 \
|
-DFP_MAX_BITS=8192 \
|
||||||
$(if $(CONFIG_WOLFSSL_ALT_NAMES),-DWOLFSSL_ALT_NAMES)
|
$(if $(CONFIG_WOLFSSL_ALT_NAMES),-DWOLFSSL_ALT_NAMES)
|
||||||
|
|
||||||
TARGET_LDFLAGS += -flto
|
|
||||||
|
|
||||||
# --enable-stunnel needed for OpenSSL API compatibility bits
|
# --enable-stunnel needed for OpenSSL API compatibility bits
|
||||||
CONFIGURE_ARGS += \
|
CONFIGURE_ARGS += \
|
||||||
--enable-reproducible-build \
|
--enable-reproducible-build \
|
||||||
|
|
|
@ -21,7 +21,7 @@ PKG_LICENSE:=ISC
|
||||||
|
|
||||||
PKG_CONFIG_DEPENDS := CONFIG_IPV6
|
PKG_CONFIG_DEPENDS := CONFIG_IPV6
|
||||||
|
|
||||||
PKG_BUILD_FLAGS:=gc-sections
|
PKG_BUILD_FLAGS:=gc-sections lto
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
include $(INCLUDE_DIR)/cmake.mk
|
include $(INCLUDE_DIR)/cmake.mk
|
||||||
|
@ -44,8 +44,6 @@ define Package/firewall/conffiles
|
||||||
/etc/firewall.user
|
/etc/firewall.user
|
||||||
endef
|
endef
|
||||||
|
|
||||||
TARGET_CFLAGS += -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
|
||||||
|
|
|
@ -13,6 +13,8 @@ PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
||||||
PKG_LICENSE:=GPL-2.0
|
PKG_LICENSE:=GPL-2.0
|
||||||
PKG_LICENSE_FILES:=
|
PKG_LICENSE_FILES:=
|
||||||
|
|
||||||
|
PKG_BUILD_FLAGS:=lto
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
include $(INCLUDE_DIR)/cmake.mk
|
include $(INCLUDE_DIR)/cmake.mk
|
||||||
|
|
||||||
|
@ -30,10 +32,7 @@ endef
|
||||||
|
|
||||||
TARGET_CFLAGS += \
|
TARGET_CFLAGS += \
|
||||||
-I$(STAGING_DIR)/usr/include/libnl-tiny \
|
-I$(STAGING_DIR)/usr/include/libnl-tiny \
|
||||||
-I$(STAGING_DIR)/usr/include \
|
-I$(STAGING_DIR)/usr/include
|
||||||
-flto
|
|
||||||
|
|
||||||
TARGET_LDFLAGS += -flto -fuse-linker-plugin
|
|
||||||
|
|
||||||
CMAKE_OPTIONS += \
|
CMAKE_OPTIONS += \
|
||||||
-DLIBNL_LIBS=-lnl-tiny \
|
-DLIBNL_LIBS=-lnl-tiny \
|
||||||
|
|
|
@ -13,6 +13,8 @@ PKG_RELEASE:=12
|
||||||
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:=lto
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
include $(INCLUDE_DIR)/kernel.mk
|
include $(INCLUDE_DIR)/kernel.mk
|
||||||
|
|
||||||
|
@ -23,9 +25,6 @@ define Package/swconfig
|
||||||
TITLE:=Switch configuration utility
|
TITLE:=Switch configuration utility
|
||||||
endef
|
endef
|
||||||
|
|
||||||
TARGET_CFLAGS += -flto
|
|
||||||
TARGET_LDFLAGS += -flto=jobserver
|
|
||||||
|
|
||||||
TARGET_CPPFLAGS := \
|
TARGET_CPPFLAGS := \
|
||||||
-D_GNU_SOURCE \
|
-D_GNU_SOURCE \
|
||||||
-I$(STAGING_DIR)/usr/include/libnl-tiny \
|
-I$(STAGING_DIR)/usr/include/libnl-tiny \
|
||||||
|
|
|
@ -24,6 +24,7 @@ PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_UPSTR
|
||||||
|
|
||||||
PKG_INSTALL:=1
|
PKG_INSTALL:=1
|
||||||
PKG_BUILD_PARALLEL:=1
|
PKG_BUILD_PARALLEL:=1
|
||||||
|
PKG_BUILD_FLAGS:=lto
|
||||||
PKG_ASLR_PIE_REGULAR:=1
|
PKG_ASLR_PIE_REGULAR:=1
|
||||||
PKG_CONFIG_DEPENDS:= CONFIG_PACKAGE_dnsmasq_$(BUILD_VARIANT)_dhcp \
|
PKG_CONFIG_DEPENDS:= CONFIG_PACKAGE_dnsmasq_$(BUILD_VARIANT)_dhcp \
|
||||||
CONFIG_PACKAGE_dnsmasq_$(BUILD_VARIANT)_dhcpv6 \
|
CONFIG_PACKAGE_dnsmasq_$(BUILD_VARIANT)_dhcpv6 \
|
||||||
|
@ -133,9 +134,6 @@ endef
|
||||||
Package/dnsmasq-dhcpv6/conffiles = $(Package/dnsmasq/conffiles)
|
Package/dnsmasq-dhcpv6/conffiles = $(Package/dnsmasq/conffiles)
|
||||||
Package/dnsmasq-full/conffiles = $(Package/dnsmasq/conffiles)
|
Package/dnsmasq-full/conffiles = $(Package/dnsmasq/conffiles)
|
||||||
|
|
||||||
TARGET_CFLAGS += -flto
|
|
||||||
TARGET_LDFLAGS += -flto=jobserver
|
|
||||||
|
|
||||||
COPTS = -DHAVE_UBUS -DHAVE_POLL_H \
|
COPTS = -DHAVE_UBUS -DHAVE_POLL_H \
|
||||||
$(if $(CONFIG_IPV6),,-DNO_IPV6)
|
$(if $(CONFIG_IPV6),,-DNO_IPV6)
|
||||||
|
|
||||||
|
|
|
@ -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 gc-sections
|
PKG_BUILD_FLAGS:=no-mips16 gc-sections lto
|
||||||
PKG_FIXUP:=autoreconf
|
PKG_FIXUP:=autoreconf
|
||||||
PKG_FLAGS:=nonshared
|
PKG_FLAGS:=nonshared
|
||||||
|
|
||||||
|
@ -142,8 +142,7 @@ DB_OPT_CONFIG = \
|
||||||
DROPBEAR_SVR_AGENTFWD|CONFIG_DROPBEAR_AGENTFORWARD|1|0 \
|
DROPBEAR_SVR_AGENTFWD|CONFIG_DROPBEAR_AGENTFORWARD|1|0 \
|
||||||
|
|
||||||
|
|
||||||
TARGET_CFLAGS += -DARGTYPE=3 -flto
|
TARGET_CFLAGS += -DARGTYPE=3
|
||||||
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,7 +32,7 @@ PKG_CONFIG_DEPENDS:= \
|
||||||
CONFIG_DRIVER_11AX_SUPPORT \
|
CONFIG_DRIVER_11AX_SUPPORT \
|
||||||
CONFIG_WPA_ENABLE_WEP
|
CONFIG_WPA_ENABLE_WEP
|
||||||
|
|
||||||
PKG_BUILD_FLAGS:=gc-sections
|
PKG_BUILD_FLAGS:=gc-sections lto
|
||||||
|
|
||||||
EAPOL_TEST_PROVIDERS:=eapol-test eapol-test-openssl eapol-test-wolfssl
|
EAPOL_TEST_PROVIDERS:=eapol-test eapol-test-openssl eapol-test-wolfssl
|
||||||
|
|
||||||
|
@ -587,8 +587,7 @@ 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 += -flto
|
TARGET_LDFLAGS += -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
|
||||||
|
|
|
@ -21,6 +21,7 @@ PKG_CPE_ID:=cpe:/a:lldpd_project:lldpd
|
||||||
|
|
||||||
PKG_FIXUP:=autoreconf
|
PKG_FIXUP:=autoreconf
|
||||||
PKG_BUILD_PARALLEL:=1
|
PKG_BUILD_PARALLEL:=1
|
||||||
|
PKG_BUILD_FLAGS:=lto
|
||||||
PKG_INSTALL:=1
|
PKG_INSTALL:=1
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
@ -111,7 +112,6 @@ CONFIGURE_ARGS += \
|
||||||
$(if $(CONFIG_LLDPD_WITH_SNMP),--with-snmp,) \
|
$(if $(CONFIG_LLDPD_WITH_SNMP),--with-snmp,) \
|
||||||
$(if $(CONFIG_USE_GLIBC),,--without-libbsd)
|
$(if $(CONFIG_USE_GLIBC),,--without-libbsd)
|
||||||
|
|
||||||
TARGET_CFLAGS += -flto
|
TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed
|
||||||
TARGET_LDFLAGS += -flto -Wl,--gc-sections,--as-needed
|
|
||||||
|
|
||||||
$(eval $(call BuildPackage,lldpd))
|
$(eval $(call BuildPackage,lldpd))
|
||||||
|
|
|
@ -26,7 +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_FLAGS:=gc-sections lto
|
||||||
PKG_BUILD_PARALLEL:=1
|
PKG_BUILD_PARALLEL:=1
|
||||||
PKG_INSTALL:=1
|
PKG_INSTALL:=1
|
||||||
|
|
||||||
|
@ -193,9 +193,6 @@ $(call Build/Configure/Default,, \
|
||||||
$(PKG_BUILD_DIR)/pppd/plugins/pppoatm/linux/
|
$(PKG_BUILD_DIR)/pppd/plugins/pppoatm/linux/
|
||||||
endef
|
endef
|
||||||
|
|
||||||
TARGET_CFLAGS += -flto
|
|
||||||
TARGET_LDFLAGS += -flto -fuse-linker-plugin
|
|
||||||
|
|
||||||
MAKE_FLAGS += COPTS="$(TARGET_CFLAGS)" \
|
MAKE_FLAGS += COPTS="$(TARGET_CFLAGS)" \
|
||||||
PRECOMPILED_FILTER=1 \
|
PRECOMPILED_FILTER=1 \
|
||||||
STAGING_DIR="$(STAGING_DIR)"
|
STAGING_DIR="$(STAGING_DIR)"
|
||||||
|
|
|
@ -19,6 +19,8 @@ PKG_MIRROR_HASH:=0e96edc983cf437b95874e5715d743f30bb826d8757dc3771ff872ab9cf18f3
|
||||||
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:=lto
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
include $(INCLUDE_DIR)/cmake.mk
|
include $(INCLUDE_DIR)/cmake.mk
|
||||||
|
|
||||||
|
@ -29,8 +31,7 @@ define Package/ustp
|
||||||
DEPENDS:=+libubox +libubus
|
DEPENDS:=+libubox +libubus
|
||||||
endef
|
endef
|
||||||
|
|
||||||
TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include -flto
|
TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include
|
||||||
TARGET_LDFLAGS += -flto -fuse-linker-plugin
|
|
||||||
|
|
||||||
define Package/ustp/install
|
define Package/ustp/install
|
||||||
$(INSTALL_DIR) $(1)/sbin $(1)/etc/init.d
|
$(INSTALL_DIR) $(1)/sbin $(1)/etc/init.d
|
||||||
|
|
|
@ -19,7 +19,7 @@ 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
|
PKG_BUILD_FLAGS:=gc-sections lto
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/kernel.mk
|
include $(INCLUDE_DIR)/kernel.mk
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
@ -173,7 +173,6 @@ define Build/Configure
|
||||||
> $(PKG_BUILD_DIR)/include/SNAPSHOT.h
|
> $(PKG_BUILD_DIR)/include/SNAPSHOT.h
|
||||||
endef
|
endef
|
||||||
|
|
||||||
TARGET_CFLAGS += -flto
|
|
||||||
TARGET_LDFLAGS += -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
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@ 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
|
PKG_BUILD_FLAGS:=gc-sections lto
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
@ -48,8 +48,7 @@ TARGET_CPPFLAGS:= \
|
||||||
-I$(STAGING_DIR)/usr/include/libnl-tiny \
|
-I$(STAGING_DIR)/usr/include/libnl-tiny \
|
||||||
$(TARGET_CPPFLAGS) \
|
$(TARGET_CPPFLAGS) \
|
||||||
-DCONFIG_LIBNL20 \
|
-DCONFIG_LIBNL20 \
|
||||||
-D_GNU_SOURCE \
|
-D_GNU_SOURCE
|
||||||
-flto
|
|
||||||
|
|
||||||
ifeq ($(BUILD_VARIANT),full)
|
ifeq ($(BUILD_VARIANT),full)
|
||||||
TARGET_CPPFLAGS += -DIW_FULL
|
TARGET_CPPFLAGS += -DIW_FULL
|
||||||
|
@ -58,7 +57,7 @@ endif
|
||||||
|
|
||||||
MAKE_FLAGS += \
|
MAKE_FLAGS += \
|
||||||
CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
|
CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
|
||||||
LDFLAGS="$(TARGET_LDFLAGS) -flto" \
|
LDFLAGS="$(TARGET_LDFLAGS)" \
|
||||||
NL1FOUND="" NL2FOUND=Y \
|
NL1FOUND="" NL2FOUND=Y \
|
||||||
NLLIBNAME="libnl-tiny" \
|
NLLIBNAME="libnl-tiny" \
|
||||||
LIBS="-lm -lnl-tiny" \
|
LIBS="-lm -lnl-tiny" \
|
||||||
|
|
|
@ -20,6 +20,8 @@ PKG_LICENSE_FILES:=COPYING
|
||||||
PKG_FIXUP:=autoreconf
|
PKG_FIXUP:=autoreconf
|
||||||
PKG_INSTALL:=1
|
PKG_INSTALL:=1
|
||||||
|
|
||||||
|
PKG_BUILD_FLAGS:=lto
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
DISABLE_NLS:=
|
DISABLE_NLS:=
|
||||||
|
@ -60,9 +62,6 @@ ifeq ($(BUILD_VARIANT),json)
|
||||||
CONFIGURE_ARGS += --with-json
|
CONFIGURE_ARGS += --with-json
|
||||||
endif
|
endif
|
||||||
|
|
||||||
TARGET_CFLAGS += -flto
|
|
||||||
TARGET_LDFLAGS += -flto
|
|
||||||
|
|
||||||
define Build/InstallDev
|
define Build/InstallDev
|
||||||
$(INSTALL_DIR) $(1)/usr/lib $(1)/usr/include
|
$(INSTALL_DIR) $(1)/usr/lib $(1)/usr/include
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
|
||||||
|
|
|
@ -18,6 +18,7 @@ PKG_LICENSE:=GPL-2.0+
|
||||||
PKG_LICENSE_FILES:=
|
PKG_LICENSE_FILES:=
|
||||||
|
|
||||||
PKG_FLAGS:=nonshared
|
PKG_FLAGS:=nonshared
|
||||||
|
PKG_BUILD_FLAGS:=lto
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
@ -36,8 +37,7 @@ endef
|
||||||
target=$(firstword $(subst -, ,$(BOARD)))
|
target=$(firstword $(subst -, ,$(BOARD)))
|
||||||
|
|
||||||
MAKE_FLAGS += TARGET="$(target)"
|
MAKE_FLAGS += TARGET="$(target)"
|
||||||
TARGET_CFLAGS += -Dtarget_$(target)=1 -Wall -flto
|
TARGET_CFLAGS += -Dtarget_$(target)=1 -Wall
|
||||||
TARGET_LDFLAGS += -flto=jobserver
|
|
||||||
|
|
||||||
ifdef CONFIG_MTD_REDBOOT_PARTS
|
ifdef CONFIG_MTD_REDBOOT_PARTS
|
||||||
MAKE_FLAGS += FIS_SUPPORT=1
|
MAKE_FLAGS += FIS_SUPPORT=1
|
||||||
|
|
|
@ -22,6 +22,7 @@ PKG_LICENSE_FILES:=
|
||||||
|
|
||||||
PKG_MAINTAINER:=John Crispin <john@phrozen.org>
|
PKG_MAINTAINER:=John Crispin <john@phrozen.org>
|
||||||
|
|
||||||
|
PKG_BUILD_FLAGS:=lto
|
||||||
PKG_ASLR_PIE_REGULAR:=1
|
PKG_ASLR_PIE_REGULAR:=1
|
||||||
PKG_CONFIG_DEPENDS:= \
|
PKG_CONFIG_DEPENDS:= \
|
||||||
CONFIG_TARGET_INIT_PATH CONFIG_KERNEL_SECCOMP CONFIG_PROCD_SHOW_BOOT \
|
CONFIG_TARGET_INIT_PATH CONFIG_KERNEL_SECCOMP CONFIG_PROCD_SHOW_BOOT \
|
||||||
|
@ -36,9 +37,6 @@ endif
|
||||||
|
|
||||||
CMAKE_OPTIONS += -DEARLY_PATH="$(TARGET_INIT_PATH)"
|
CMAKE_OPTIONS += -DEARLY_PATH="$(TARGET_INIT_PATH)"
|
||||||
|
|
||||||
TARGET_CFLAGS += -flto
|
|
||||||
TARGET_LDFLAGS += -flto
|
|
||||||
|
|
||||||
define Package/procd/Default
|
define Package/procd/Default
|
||||||
SECTION:=base
|
SECTION:=base
|
||||||
CATEGORY:=Base system
|
CATEGORY:=Base system
|
||||||
|
|
|
@ -15,6 +15,7 @@ PKG_LICENSE:=LGPL-2.1
|
||||||
PKG_LICENSE_FILES:=
|
PKG_LICENSE_FILES:=
|
||||||
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
||||||
|
|
||||||
|
PKG_BUILD_FLAGS:=lto
|
||||||
PKG_ASLR_PIE_REGULAR:=1
|
PKG_ASLR_PIE_REGULAR:=1
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
@ -50,8 +51,7 @@ define Package/libubus-lua
|
||||||
TITLE:=Lua binding for the OpenWrt RPC client
|
TITLE:=Lua binding for the OpenWrt RPC client
|
||||||
endef
|
endef
|
||||||
|
|
||||||
TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include -flto
|
TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include
|
||||||
TARGET_LDFLAGS += -flto
|
|
||||||
|
|
||||||
CMAKE_OPTIONS += \
|
CMAKE_OPTIONS += \
|
||||||
-DLUAPATH=/usr/lib/lua \
|
-DLUAPATH=/usr/lib/lua \
|
||||||
|
|
|
@ -10,7 +10,7 @@ PKG_SOURCE_VERSION:=f1f65026a94137c91b5466b149ef3ea3f20091e9
|
||||||
PKG_MIRROR_HASH:=3f6569a5e63fdfd032976ac0f79d736d3935101ac1b97fb370514b013c5e6bb6
|
PKG_MIRROR_HASH:=3f6569a5e63fdfd032976ac0f79d736d3935101ac1b97fb370514b013c5e6bb6
|
||||||
CMAKE_INSTALL:=1
|
CMAKE_INSTALL:=1
|
||||||
PKG_CHECK_FORMAT_SECURITY:=1
|
PKG_CHECK_FORMAT_SECURITY:=1
|
||||||
PKG_BUILD_FLAGS:=no-mips16
|
PKG_BUILD_FLAGS:=no-mips16 lto
|
||||||
|
|
||||||
PKG_LICENSE:=ISC
|
PKG_LICENSE:=ISC
|
||||||
PKG_LICENSE_FILES:=
|
PKG_LICENSE_FILES:=
|
||||||
|
@ -30,9 +30,6 @@ define Package/usign
|
||||||
TITLE:=OpenWrt signature verification utility
|
TITLE:=OpenWrt signature verification utility
|
||||||
endef
|
endef
|
||||||
|
|
||||||
TARGET_CFLAGS += -flto
|
|
||||||
TARGET_LDFLAGS += -flto=jobserver
|
|
||||||
|
|
||||||
CMAKE_OPTIONS += \
|
CMAKE_OPTIONS += \
|
||||||
-DUSE_LIBUBOX=on
|
-DUSE_LIBUBOX=on
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,7 @@ PKG_HASH:=542750c8af7cb2630e201780b4f99f3dcceeb06f505b479ec68241c1e6af61a5
|
||||||
|
|
||||||
PKG_BUILD_DEPENDS:=BUSYBOX_CONFIG_PAM:libpam
|
PKG_BUILD_DEPENDS:=BUSYBOX_CONFIG_PAM:libpam
|
||||||
PKG_BUILD_PARALLEL:=1
|
PKG_BUILD_PARALLEL:=1
|
||||||
|
PKG_BUILD_FLAGS:=lto
|
||||||
PKG_CHECK_FORMAT_SECURITY:=0
|
PKG_CHECK_FORMAT_SECURITY:=0
|
||||||
|
|
||||||
PKG_LICENSE:=GPL-2.0
|
PKG_LICENSE:=GPL-2.0
|
||||||
|
@ -103,9 +104,6 @@ ifeq ($(BUILD_VARIANT),selinux)
|
||||||
LDLIBS += selinux sepol
|
LDLIBS += selinux sepol
|
||||||
endif
|
endif
|
||||||
|
|
||||||
TARGET_CFLAGS += -flto
|
|
||||||
TARGET_LDFLAGS += -flto=jobserver -fuse-linker-plugin
|
|
||||||
|
|
||||||
MAKE_VARS :=
|
MAKE_VARS :=
|
||||||
MAKE_FLAGS += \
|
MAKE_FLAGS += \
|
||||||
EXTRA_CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS)" \
|
EXTRA_CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS)" \
|
||||||
|
|
|
@ -23,7 +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
|
PKG_BUILD_FLAGS:=gc-sections lto
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
include $(INCLUDE_DIR)/host-build.mk
|
include $(INCLUDE_DIR)/host-build.mk
|
||||||
|
@ -143,9 +143,7 @@ $(call Package/e2fsprogs)
|
||||||
DEPENDS:= +e2fsprogs
|
DEPENDS:= +e2fsprogs
|
||||||
endef
|
endef
|
||||||
|
|
||||||
TARGET_CFLAGS += $(FPIC) -flto
|
TARGET_CFLAGS += $(FPIC)
|
||||||
|
|
||||||
TARGET_LDFLAGS += -flto
|
|
||||||
|
|
||||||
CONFIGURE_ARGS += \
|
CONFIGURE_ARGS += \
|
||||||
--disable-testio-debug \
|
--disable-testio-debug \
|
||||||
|
|
Loading…
Reference in a new issue