[PATCH 1/2] toplevel: do not make libstdc++ configure wait for libgomp

Kyrylo Tkachov ktkachov@nvidia.com
Tue Aug 11 13:35:10 GMT 2026



> On 11 Aug 2026, at 15:11, Sam James <sam@gentoo.org> wrote:
> 
> <ktkachov@nvidia.com> writes:
> 
>> From: Kyrylo Tkachov <ktkachov@nvidia.com>
>> 
>> 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
> 
> Could you include commit refs for these? It's nice for us who go digging
> fairly often (also makes it easier to verify this is right).

Yeah, sure. Here it is with the references in the commit message.
Thanks,
Kyrill

> 
>> 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 <ktkachov@nvidia.com>
>> ---
>> Makefile.def |  1 -
>> Makefile.in  | 10 ----------
>> 2 files changed, 11 deletions(-)
>> 
>> diff --git a/Makefile.def b/Makefile.def
>> index 549763de837..6098de2904d 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 5cca69c3f52..31eecec49ca 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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-toplevel-do-not-make-libstdc-configure-wait-for-libg.patch
Type: application/octet-stream
Size: 3915 bytes
Desc: 0001-toplevel-do-not-make-libstdc-configure-wait-for-libg.patch
URL: <https://gcc.gnu.org/pipermail/libstdc++/attachments/20260811/45d56928/attachment-0001.obj>


More information about the Libstdc++ mailing list