proj/gcc-patches:master commit in: 17.0.0/gentoo/

"Sam James" <[email protected]>
Newsgroups gmane.linux.gentoo.cvs
Message-ID <1787071867.d9b9e39142410a927ca06d0fe75dfcdcf34c7559.sam@gentoo>
commit:     d9b9e39142410a927ca06d0fe75dfcdcf34c7559
Author:     Kostadin Shishmanov <kostadinshishmanov <AT> protonmail <DOT> com>
AuthorDate: Tue Aug 18 13:06:34 2026 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Aug 18 16:51:07 2026 +0000
URL:        https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=d9b9e391

17.0.0: drop libstdc++ parallel build patches

Signed-off-by: Kostadin Shishmanov <kostadinshishmanov <AT> protonmail.com>
Part-of: https://github.com/gentoo/gcc-patches/pull/11
Closes: https://github.com/gentoo/gcc-patches/pull/11
Signed-off-by: Sam James <sam <AT> gentoo.org>

 ...-not-make-libstdc-configure-wait-for-libg.patch |  73 --------------
 ...-build-the-source-directories-in-parallel.patch | 109 ---------------------
 17.0.0/gentoo/README.history                       |   5 +
 3 files changed, 5 insertions(+), 182 deletions(-)

diff --git a/17.0.0/gentoo/87_all_toplevel-do-not-make-libstdc-configure-wait-for-libg.patch b/17.0.0/gentoo/87_all_toplevel-do-not-make-libstdc-configure-wait-for-libg.patch
deleted file mode 100644
index c2b9d3c..0000000
--- a/17.0.0/gentoo/87_all_toplevel-do-not-make-libstdc-configure-wait-for-libg.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From 318c47e2661fd26b65379c854dee1fd201090d60 Mon Sep 17 00:00:00 2001
-Message-ID: <318c47e2661fd26b65379c854dee1fd201090d60.1786453925.git.sam-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
-From: Kyrylo Tkachov <[email protected]>
-Date: Tue, 11 Aug 2026 11:55:38 +0200
-Subject: [PATCH 1/2] toplevel: do not make libstdc++ configure wait for
- libgomp
-
-libstdc++'s configure was made to depend on libgomp's configure in 2007, when
-GLIBCXX_ENABLE_PARALLEL decided whether to enable parallel mode by looking for
-a configured libgomp/omp.h on disk.  Since 2010 the test has instead grepped
-the TARGET_CONFIGDIRS string, which the top level passes in, so nothing on
-disk needs to exist by then.  The comment above the test still describes the
-old behaviour, which is what makes the edge look necessary.
-
-Remove it.  The build time dependency, all-target-libstdc++-v3 on
-configure-target-libgomp, stays, since the parallel mode headers do include
-omp.h when they are compiled.
-
-This shortens the chain in front of libstdc++, which is the last thing to
-finish in every bootstrap stage.
-
-Bootstrapped on aarch64-none-linux-gnu.  Ok for trunk?
-
-ChangeLog:
-
-	* Makefile.def (dependencies): Remove the configure-target-libstdc++-v3
-	on configure-target-libgomp dependency.
-	* Makefile.in: Regenerate.
-
-Signed-off-by: Kyrylo Tkachov <[email protected]>
----
- Makefile.def |  1 -
- Makefile.in  | 10 ----------
- 2 files changed, 11 deletions(-)
-
-diff --git a/Makefile.def b/Makefile.def
-index 549763de837a..6098de2904de 100644
---- a/Makefile.def
-+++ b/Makefile.def
-@@ -679,7 +679,6 @@ dependencies = { module=configure-target-libphobos; on=configure-target-zlib; };
- dependencies = { module=all-target-libphobos; on=all-target-libbacktrace; };
- dependencies = { module=all-target-libphobos; on=all-target-zlib; };
- dependencies = { module=all-target-libphobos; on=all-target-libatomic; };
--dependencies = { module=configure-target-libstdc++-v3; on=configure-target-libgomp; };
- dependencies = { module=configure-target-libsanitizer; on=all-target-libstdc++-v3; };
- dependencies = { module=configure-target-libvtv; on=all-target-libstdc++-v3; };
- dependencies = { module=configure-target-libgrust; on=all-target-libstdc++-v3; };
-diff --git a/Makefile.in b/Makefile.in
-index 5cca69c3f523..31eecec49caa 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -69768,16 +69768,6 @@ all-stagetrain-target-libphobos: maybe-all-stagetrain-target-libatomic
- all-stagefeedback-target-libphobos: maybe-all-stagefeedback-target-libatomic
- all-stageautoprofile-target-libphobos: maybe-all-stageautoprofile-target-libatomic
- all-stageautofeedback-target-libphobos: maybe-all-stageautofeedback-target-libatomic
--configure-target-libstdc++-v3: maybe-configure-target-libgomp
--configure-stage1-target-libstdc++-v3: maybe-configure-stage1-target-libgomp
--configure-stage2-target-libstdc++-v3: maybe-configure-stage2-target-libgomp
--configure-stage3-target-libstdc++-v3: maybe-configure-stage3-target-libgomp
--configure-stage4-target-libstdc++-v3: maybe-configure-stage4-target-libgomp
--configure-stageprofile-target-libstdc++-v3: maybe-configure-stageprofile-target-libgomp
--configure-stagetrain-target-libstdc++-v3: maybe-configure-stagetrain-target-libgomp
--configure-stagefeedback-target-libstdc++-v3: maybe-configure-stagefeedback-target-libgomp
--configure-stageautoprofile-target-libstdc++-v3: maybe-configure-stageautoprofile-target-libgomp
--configure-stageautofeedback-target-libstdc++-v3: maybe-configure-stageautofeedback-target-libgomp
- configure-target-libsanitizer: maybe-all-target-libstdc++-v3
- configure-stage1-target-libsanitizer: maybe-all-stage1-target-libstdc++-v3
- configure-stage2-target-libsanitizer: maybe-all-stage2-target-libstdc++-v3
-
-base-commit: 1dec3355162851ab3cf991fbf8c7fa9cd08331f3
--- 
-2.55.0
-

diff --git a/17.0.0/gentoo/88_all_libstdc-build-the-source-directories-in-parallel.patch b/17.0.0/gentoo/88_all_libstdc-build-the-source-directories-in-parallel.patch
deleted file mode 100644
index d39d1a5..0000000
--- a/17.0.0/gentoo/88_all_libstdc-build-the-source-directories-in-parallel.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-From 69ffc65cd19556eef13671aeb3c083ae31c162de Mon Sep 17 00:00:00 2001
-Message-ID: <69ffc65cd19556eef13671aeb3c083ae31c162de.1786453925.git.sam-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
-In-Reply-To: <318c47e2661fd26b65379c854dee1fd201090d60.1786453925.git.sam-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
-References: <318c47e2661fd26b65379c854dee1fd201090d60.1786453925.git.sam-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
-From: Kyrylo Tkachov <[email protected]>
-Date: Tue, 11 Aug 2026 11:55:39 +0200
-Subject: [PATCH 2/2] libstdc++: build the source directories in parallel
-
-libstdc++-v3/src is built by walking SUBDIRS, and automake implements that
-walk as a shell loop.  The per-standard directories are therefore built one
-after another no matter how large -j is, and most of them hold only a handful
-of files.  Sampling the compiler processes during a bootstrap shows a mean of
-between 2 and 4 concurrent compiles against -j64, with exactly one source
-directory active at any moment, and long stretches at a concurrency of two.
-
-libstdc++ is the last thing to finish in every stage, so for most of that time
-nothing else in the build is running and the machine is idle.
-
-The directories are independent of each other, apart from src/experimental,
-which links the convenience archives of c++23, c++26, filesystem and
-libbacktrace.  Give make an explicit target per directory, with that one
-dependency written down, and let it overlap them.  automake's own loop still
-runs afterwards, finds everything built and costs nothing, so the recursion
-for install, clean and the other targets is untouched.
-
-On aarch64 a clean rebuild of libstdc++-v3/src with the final stage compiler
-falls by 62%, and a release checking bootstrap by 12.8%.
-
-Bootstrapped on aarch64-none-linux-gnu.  Ok for trunk?
-
-libstdc++-v3/ChangeLog:
-
-	* src/Makefile.am (all-recursive): Depend on all-parallel-subdirs.
-	(all-parallel-subdirs, all-in-%): New targets.
-	(all-in-experimental): Depend on the directories whose convenience
-	archives it links.
-	* src/Makefile.in: Regenerate.
-
-Signed-off-by: Kyrylo Tkachov <[email protected]>
----
- libstdc++-v3/src/Makefile.am | 20 ++++++++++++++++++++
- libstdc++-v3/src/Makefile.in | 20 ++++++++++++++++++++
- 2 files changed, 40 insertions(+)
-
-diff --git a/libstdc++-v3/src/Makefile.am b/libstdc++-v3/src/Makefile.am
-index 35a497a15886..17fd6ed60645 100644
---- a/libstdc++-v3/src/Makefile.am
-+++ b/libstdc++-v3/src/Makefile.am
-@@ -46,6 +46,26 @@ endif
- SUBDIRS = c++98 c++11 c++17 c++20 c++23 c++26 \
- 	$(filesystem_dir) $(backtrace_dir) $(experimental_dir)
- 
-+# automake walks SUBDIRS with a shell loop, so the source directories are
-+# built strictly one after another however large -j is.  They are independent
-+# of each other apart from the convenience archives that src/experimental
-+# links, so build them from make instead and let it overlap them.  automake's
-+# own loop still runs afterwards, where it finds everything already built and
-+# costs nothing, and the recursion for install, clean and the rest is
-+# untouched.
-+all-recursive: all-parallel-subdirs
-+
-+all-parallel-subdirs: $(SUBDIRS:%=all-in-%)
-+
-+all-in-%:
-+	$(MAKE) $(AM_MAKEFLAGS) -C $* all
-+
-+# src/experimental links the convenience archives of these directories.
-+all-in-experimental: all-in-c++23 all-in-c++26 \
-+	$(filesystem_dir:%=all-in-%) $(backtrace_dir:%=all-in-%)
-+
-+.PHONY: all-parallel-subdirs
-+
- # Cross compiler support.
- if VTV_CYGMIN
- toolexeclib_LTLIBRARIES = libvtv.la libstdc++.la
-diff --git a/libstdc++-v3/src/Makefile.in b/libstdc++-v3/src/Makefile.in
-index 811d0a5ce4a8..104033fd6796 100644
---- a/libstdc++-v3/src/Makefile.in
-+++ b/libstdc++-v3/src/Makefile.in
-@@ -1020,6 +1020,26 @@ uninstall-am: uninstall-toolexeclibLTLIBRARIES
- .PRECIOUS: Makefile
- 
- 
-+# automake walks SUBDIRS with a shell loop, so the source directories are
-+# built strictly one after another however large -j is.  They are independent
-+# of each other apart from the convenience archives that src/experimental
-+# links, so build them from make instead and let it overlap them.  automake's
-+# own loop still runs afterwards, where it finds everything already built and
-+# costs nothing, and the recursion for install, clean and the rest is
-+# untouched.
-+all-recursive: all-parallel-subdirs
-+
-+all-parallel-subdirs: $(SUBDIRS:%=all-in-%)
-+
-+all-in-%:
-+	$(MAKE) $(AM_MAKEFLAGS) -C $* all
-+
-+# src/experimental links the convenience archives of these directories.
-+all-in-experimental: all-in-c++23 all-in-c++26 \
-+	$(filesystem_dir:%=all-in-%) $(backtrace_dir:%=all-in-%)
-+
-+.PHONY: all-parallel-subdirs
-+
- @VTV_CYGMIN_TRUE@vtv_stubs.cc:
- @VTV_CYGMIN_TRUE@	rm -f $@
- @VTV_CYGMIN_TRUE@	$(LN_S) $(toplevel_srcdir)/libstdc++-v3/libsupc++/vtv_stubs.cc $@
--- 
-2.55.0
-

diff --git a/17.0.0/gentoo/README.history b/17.0.0/gentoo/README.history
index 2ebb332..53095f1 100644
--- a/17.0.0/gentoo/README.history
+++ b/17.0.0/gentoo/README.history
@@ -1,3 +1,8 @@
+13	18 August 2026
+
+	- 87_all_toplevel-do-not-make-libstdc-configure-wait-for-libg.patch
+	- 88_all_libstdc-build-the-source-directories-in-parallel.patch
+
 12	????
 
 	+ 87_all_toplevel-do-not-make-libstdc-configure-wait-for-libg.patch
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.