diff options
author | Andrew Pinski <apinski@marvell.com> | 2021-09-18 01:08:17 +0000 |
---|---|---|
committer | Andrew Pinski <apinski@marvell.com> | 2021-09-19 17:29:36 +0000 |
commit | 68aace4458364fee201889aaaedfce59beb972f2 (patch) | |
tree | b8443f16a9cb5371eb5621fa0af4b9e150ca6612 /config | |
parent | Minor cleanups to forward threader. (diff) | |
download | gcc-68aace4458364fee201889aaaedfce59beb972f2.tar.gz gcc-68aace4458364fee201889aaaedfce59beb972f2.tar.bz2 gcc-68aace4458364fee201889aaaedfce59beb972f2.tar.xz |
Fix PR bootstrap/102389: --with-build-config=bootstrap-lto is broken
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.
Diffstat (limited to 'config')
-rw-r--r-- | config/bootstrap-lto-lean.mk | 6 | ||||
-rw-r--r-- | config/bootstrap-lto.mk | 6 |
2 files changed, 8 insertions, 4 deletions
diff --git a/config/bootstrap-lto-lean.mk b/config/bootstrap-lto-lean.mk index 79cea50a4c6..42cb3394c70 100644 --- a/config/bootstrap-lto-lean.mk +++ b/config/bootstrap-lto-lean.mk | |||
@@ -9,9 +9,11 @@ STAGEfeedback_CFLAGS += -flto=jobserver | |||
9 | # assumes the host supports the linker plugin | 9 | # assumes the host supports the linker plugin |
10 | LTO_AR = $$r/$(HOST_SUBDIR)/prev-gcc/gcc-ar$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/ | 10 | LTO_AR = $$r/$(HOST_SUBDIR)/prev-gcc/gcc-ar$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/ |
11 | LTO_RANLIB = $$r/$(HOST_SUBDIR)/prev-gcc/gcc-ranlib$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/ | 11 | LTO_RANLIB = $$r/$(HOST_SUBDIR)/prev-gcc/gcc-ranlib$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/ |
12 | LTO_NM = $$r/$(HOST_SUBDIR)/prev-gcc/gcc-nm$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/ | ||
12 | 13 | ||
13 | LTO_EXPORTS = AR="$(LTO_AR)"; export AR; \ | 14 | LTO_EXPORTS = AR="$(LTO_AR)"; export AR; \ |
14 | RANLIB="$(LTO_RANLIB)"; export RANLIB; | 15 | RANLIB="$(LTO_RANLIB)"; export RANLIB; \ |
15 | LTO_FLAGS_TO_PASS = AR="$(LTO_AR)" RANLIB="$(LTO_RANLIB)" | 16 | NM="$(LTO_NM)"; export NM; |
17 | LTO_FLAGS_TO_PASS = AR="$(LTO_AR)" RANLIB="$(LTO_RANLIB)" NM="$(LTO_NM)" | ||
16 | 18 | ||
17 | do-compare = /bin/true | 19 | do-compare = /bin/true |
diff --git a/config/bootstrap-lto.mk b/config/bootstrap-lto.mk index 4de07e5b226..1ddb1d870ba 100644 --- a/config/bootstrap-lto.mk +++ b/config/bootstrap-lto.mk | |||
@@ -9,10 +9,12 @@ STAGEfeedback_CFLAGS += -flto=jobserver -frandom-seed=1 | |||
9 | # assumes the host supports the linker plugin | 9 | # assumes the host supports the linker plugin |
10 | LTO_AR = $$r/$(HOST_SUBDIR)/prev-gcc/gcc-ar$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/ | 10 | LTO_AR = $$r/$(HOST_SUBDIR)/prev-gcc/gcc-ar$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/ |
11 | LTO_RANLIB = $$r/$(HOST_SUBDIR)/prev-gcc/gcc-ranlib$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/ | 11 | LTO_RANLIB = $$r/$(HOST_SUBDIR)/prev-gcc/gcc-ranlib$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/ |
12 | LTO_NM = $$r/$(HOST_SUBDIR)/prev-gcc/gcc-nm$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/ | ||
12 | 13 | ||
13 | LTO_EXPORTS = AR="$(LTO_AR)"; export AR; \ | 14 | LTO_EXPORTS = AR="$(LTO_AR)"; export AR; \ |
14 | RANLIB="$(LTO_RANLIB)"; export RANLIB; | 15 | RANLIB="$(LTO_RANLIB)"; export RANLIB; \ |
15 | LTO_FLAGS_TO_PASS = AR="$(LTO_AR)" RANLIB="$(LTO_RANLIB)" | 16 | NM="$(LTO_NM)"; export NM; |
17 | LTO_FLAGS_TO_PASS = AR="$(LTO_AR)" RANLIB="$(LTO_RANLIB)" NM="$(LTO_NM)" | ||
16 | 18 | ||
17 | do-compare = $(SHELL) $(srcdir)/contrib/compare-lto $$f1 $$f2 | 19 | do-compare = $(SHELL) $(srcdir)/contrib/compare-lto $$f1 $$f2 |
18 | extra-compare = gcc/lto1$(exeext) | 20 | extra-compare = gcc/lto1$(exeext) |