On Wed, 30 Jul 2025, John Ericson wrote: > This macro deduplicates the > > $CC -v 2>&1 | sed -n 's/^Thread model: //p' > > check that was occurring in various runtime libs. > > Additionally, as a bit of an Easter egg, this also allows overriding > what the compiler would return by setting the > `gcc_cv_target_thread_file` cache variable first. I admit that it is in > fact this Easter egg that led me to write the patch. The use-case for it > is for making multilib builds where the library sets do not all share > the same thread model easier. See also `THREAD_MODEL_SPEC` for more > about the varying thread models use-case. > > Arguably one could could try to define on `THREAD_MODEL_SPEC` on more > platforms (besides e.g. AIX) but the ramifications of this are a bit > unclear. Setting `gcc_cv_target_thread_file` directly is a "low tech" > solution that will work for now for sure. Of course, since setting a > cache variable like this a hacky trick, I will not expect this to be at > all stable/guaranteed to work, going forward. > > Thanks to Arsen who on IRC discussed these things with me, including in > particular making it a cache var not `--with-model` flag, to not > prematurely foster expectations that this is stable. > > Suggested-by: Arsen Arsenović <ar...@aarsen.me> > > config/ChangeLog: > > * gthr.m4: Create new GCC_AC_THREAD_MODEL macro > > libatomic/ChangeLog: > > * Makefile.in: Regenerate. > * aclocal.m4: Regenerate. > * configure: Regenerate. > * configure.ac: Use GCC_AC_THREAD_MODEL instead of hand-rolled > * testsuite/Makefile.in: Regenerate. > > libgcc/ChangeLog: > > * configure: Regenerate. > * configure.ac: Use GCC_AC_THREAD_MODEL instead of hand-rolled > > libphobos/ChangeLog: > > * configure: Regenerate. > * m4/druntime/os.m4: Use AC_MSG_ERROR, not private as_fn_error > > libstdc++-v3/ChangeLog: > > * acinclude.m4: Use GCC_AC_THREAD_MODEL instead, via AC_REQUIRE > * configure: Regenerate.
OK in the absence of build machinery maintainer objections within the next week. -- Joseph S. Myers josmy...@redhat.com