68aace4458
So the problem here is that now the lto-plugin requires NM that works with LTO to work so we need to pass down NM just like we do for ranlib and ar. OK? Bootstrapped and tested with --with-build-config=bootstrap-lto on aarch64-linux-gnu. Note you need to use binutils 2.35 or later too due to ttps://sourceware.org/PR25355 (I will submit another patch to improve the installation instructions too). config/ChangeLog: PR bootstrap/102389 * bootstrap-lto-lean.mk: Handle NM like RANLIB AND AR. * bootstrap-lto.mk: Likewise.
21 lines
927 B
Makefile
21 lines
927 B
Makefile
# This option enables LTO for stage2 and stage3 in slim mode
|
|
|
|
STAGE2_CFLAGS += -flto=jobserver -frandom-seed=1
|
|
STAGE3_CFLAGS += -flto=jobserver -frandom-seed=1
|
|
STAGEprofile_CFLAGS += -flto=jobserver -frandom-seed=1
|
|
STAGEtrain_CFLAGS += -flto=jobserver -frandom-seed=1
|
|
STAGEfeedback_CFLAGS += -flto=jobserver -frandom-seed=1
|
|
|
|
# assumes the host supports the linker plugin
|
|
LTO_AR = $$r/$(HOST_SUBDIR)/prev-gcc/gcc-ar$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/
|
|
LTO_RANLIB = $$r/$(HOST_SUBDIR)/prev-gcc/gcc-ranlib$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/
|
|
LTO_NM = $$r/$(HOST_SUBDIR)/prev-gcc/gcc-nm$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/
|
|
|
|
LTO_EXPORTS = AR="$(LTO_AR)"; export AR; \
|
|
RANLIB="$(LTO_RANLIB)"; export RANLIB; \
|
|
NM="$(LTO_NM)"; export NM;
|
|
LTO_FLAGS_TO_PASS = AR="$(LTO_AR)" RANLIB="$(LTO_RANLIB)" NM="$(LTO_NM)"
|
|
|
|
do-compare = $(SHELL) $(srcdir)/contrib/compare-lto $$f1 $$f2
|
|
extra-compare = gcc/lto1$(exeext)
|