On Fri, Nov 1, 2019 at 1:55 PM Hauke Mehrtens <ha...@hauke-m.de> wrote: > > This decreases the binary size when PIE ASLR is activated by 8% on MIPS BE. A small note on LTO:
These packages do not generate libraries, but sometimes, LTO messes up dynamic linking (static even more so). For example: https://github.com/openwrt/packages/blob/master/libs/libwangle/Makefile#L31 is missing -flto specifically because a package that depends on it (openr, not in the packages feed yet) fails to link libwangle when -flto is specified for libwangle (a specific function was optimized out of the library). > > old: > 202,020 /usr/sbin/dnsmasq > > new: > 185,676 /usr/sbin/dnsmasq > > Signed-off-by: Hauke Mehrtens <ha...@hauke-m.de> > --- > package/network/services/dnsmasq/Makefile | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/package/network/services/dnsmasq/Makefile > b/package/network/services/dnsmasq/Makefile > index 5c114eb1c6..e86b031e3f 100644 > --- a/package/network/services/dnsmasq/Makefile > +++ b/package/network/services/dnsmasq/Makefile > @@ -127,8 +127,8 @@ endef > Package/dnsmasq-dhcpv6/conffiles = $(Package/dnsmasq/conffiles) > Package/dnsmasq-full/conffiles = $(Package/dnsmasq/conffiles) > > -TARGET_CFLAGS += -ffunction-sections -fdata-sections > -TARGET_LDFLAGS += -Wl,--gc-sections I am curious why these were removed. > +TARGET_CFLAGS += -flto > +TARGET_LDFLAGS += -flto=jobserver > > COPTS = -DHAVE_UBUS \ > $(if $(CONFIG_IPV6),,-DNO_IPV6) > -- > 2.20.1 > > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel@lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel