https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123366
--- Comment #30 from Mark Millard <markmigm at gmail dot com> ---
The problem for the:
ld-elf.so.1: Shared object "libstdc++.so.6" not found, required by "conftest"
appears to be the AC_LANG(C++) use for contexts in which
C would be sufficient. For FreeBSD , AC_LANG(C++) should
never be used for C code because libstdc++.so.6 need not
exist.
Both BAD and GOOD have the issue, the distinction for GOOD
is the context happening to have a libstdc++.so.6 that is
found and used because some other lang/gcc* had been
installed in the context.
Using the specific mbstowcs example: it is incorrect to
treat a libstdc++.so.6 failure as indicating anything
about the mbstowcs status that the test is attempting
to do. The resulting mbstowcs status ends up wrong for
FreeBSD. Similarly for at least 2 other status checks.
One way to view this: the gcc/configure.ac currently
presumes that libstdc++.so.6 is a non-optional system
library that can be used before a lang/gcc16-devel
libstdc++.so.6 has been built and put in place for
later stages of the build to use. That assumption
is false for FreeBSD.
Note the lack of any AC_LANG(C) in the below. :1566:
is part of the specific mbstowcs example.
# grep -n AC_LANG
/wrkdirs/usr/ports/lang/gcc16-devel/work.*/gcc-16-20251130/gcc/configure.ac
/wrkdirs/usr/ports/lang/gcc16-devel/work.BAD/gcc-16-20251130/gcc/configure.ac:464:AC_LANG(C++)
/wrkdirs/usr/ports/lang/gcc16-devel/work.BAD/gcc-16-20251130/gcc/configure.ac:535:AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
/wrkdirs/usr/ports/lang/gcc16-devel/work.BAD/gcc-16-20251130/gcc/configure.ac:547:AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
/wrkdirs/usr/ports/lang/gcc16-devel/work.BAD/gcc-16-20251130/gcc/configure.ac:558:AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
/wrkdirs/usr/ports/lang/gcc16-devel/work.BAD/gcc-16-20251130/gcc/configure.ac:1442:[AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
/wrkdirs/usr/ports/lang/gcc16-devel/work.BAD/gcc-16-20251130/gcc/configure.ac:1522:[AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
/wrkdirs/usr/ports/lang/gcc16-devel/work.BAD/gcc-16-20251130/gcc/configure.ac:1566:[
AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdlib.h>
/wrkdirs/usr/ports/lang/gcc16-devel/work.BAD/gcc-16-20251130/gcc/configure.ac:1662:AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
/wrkdirs/usr/ports/lang/gcc16-devel/work.BAD/gcc-16-20251130/gcc/configure.ac:1701:AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
/wrkdirs/usr/ports/lang/gcc16-devel/work.BAD/gcc-16-20251130/gcc/configure.ac:1716:AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
/wrkdirs/usr/ports/lang/gcc16-devel/work.BAD/gcc-16-20251130/gcc/configure.ac:1727:AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
/wrkdirs/usr/ports/lang/gcc16-devel/work.BAD/gcc-16-20251130/gcc/configure.ac:1743:AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
/wrkdirs/usr/ports/lang/gcc16-devel/work.BAD/gcc-16-20251130/gcc/configure.ac:1764:AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
/wrkdirs/usr/ports/lang/gcc16-devel/work.BAD/gcc-16-20251130/gcc/configure.ac:1784:AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
/wrkdirs/usr/ports/lang/gcc16-devel/work.BAD/gcc-16-20251130/gcc/configure.ac:1803:AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
/wrkdirs/usr/ports/lang/gcc16-devel/work.BAD/gcc-16-20251130/gcc/configure.ac:1833:AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
/wrkdirs/usr/ports/lang/gcc16-devel/work.BAD/gcc-16-20251130/gcc/configure.ac:2040:
AC_COMPILE_IFELSE([AC_LANG_SOURCE([
/wrkdirs/usr/ports/lang/gcc16-devel/work.BAD/gcc-16-20251130/gcc/configure.ac:6676:
AC_LINK_IFELSE([AC_LANG_SOURCE([int main(void) {return 0;}])],
/wrkdirs/usr/ports/lang/gcc16-devel/work.BAD/gcc-16-20251130/gcc/configure.ac:7775:
AC_COMPILE_IFELSE([AC_LANG_SOURCE([int main(void) {return 0;}])],
/wrkdirs/usr/ports/lang/gcc16-devel/work.BAD/gcc-16-20251130/gcc/configure.ac:7785:
AC_LINK_IFELSE([AC_LANG_SOURCE([int main(void) {return 0;}])],
/wrkdirs/usr/ports/lang/gcc16-devel/work.BAD/gcc-16-20251130/gcc/configure.ac:7899:
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
/wrkdirs/usr/ports/lang/gcc16-devel/work.BAD/gcc-16-20251130/gcc/configure.ac:7913:
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
/wrkdirs/usr/ports/lang/gcc16-devel/work.GOOD/gcc-16-20251130/gcc/configure.ac:464:AC_LANG(C++)
/wrkdirs/usr/ports/lang/gcc16-devel/work.GOOD/gcc-16-20251130/gcc/configure.ac:535:AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
/wrkdirs/usr/ports/lang/gcc16-devel/work.GOOD/gcc-16-20251130/gcc/configure.ac:547:AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
/wrkdirs/usr/ports/lang/gcc16-devel/work.GOOD/gcc-16-20251130/gcc/configure.ac:558:AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
/wrkdirs/usr/ports/lang/gcc16-devel/work.GOOD/gcc-16-20251130/gcc/configure.ac:1442:[AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
/wrkdirs/usr/ports/lang/gcc16-devel/work.GOOD/gcc-16-20251130/gcc/configure.ac:1522:[AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
/wrkdirs/usr/ports/lang/gcc16-devel/work.GOOD/gcc-16-20251130/gcc/configure.ac:1566:[
AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdlib.h>
/wrkdirs/usr/ports/lang/gcc16-devel/work.GOOD/gcc-16-20251130/gcc/configure.ac:1662:AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
/wrkdirs/usr/ports/lang/gcc16-devel/work.GOOD/gcc-16-20251130/gcc/configure.ac:1701:AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
/wrkdirs/usr/ports/lang/gcc16-devel/work.GOOD/gcc-16-20251130/gcc/configure.ac:1716:AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
/wrkdirs/usr/ports/lang/gcc16-devel/work.GOOD/gcc-16-20251130/gcc/configure.ac:1727:AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
/wrkdirs/usr/ports/lang/gcc16-devel/work.GOOD/gcc-16-20251130/gcc/configure.ac:1743:AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
/wrkdirs/usr/ports/lang/gcc16-devel/work.GOOD/gcc-16-20251130/gcc/configure.ac:1764:AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
/wrkdirs/usr/ports/lang/gcc16-devel/work.GOOD/gcc-16-20251130/gcc/configure.ac:1784:AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
/wrkdirs/usr/ports/lang/gcc16-devel/work.GOOD/gcc-16-20251130/gcc/configure.ac:1803:AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
/wrkdirs/usr/ports/lang/gcc16-devel/work.GOOD/gcc-16-20251130/gcc/configure.ac:1833:AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
/wrkdirs/usr/ports/lang/gcc16-devel/work.GOOD/gcc-16-20251130/gcc/configure.ac:2040:
AC_COMPILE_IFELSE([AC_LANG_SOURCE([
/wrkdirs/usr/ports/lang/gcc16-devel/work.GOOD/gcc-16-20251130/gcc/configure.ac:6676:
AC_LINK_IFELSE([AC_LANG_SOURCE([int main(void) {return 0;}])],
/wrkdirs/usr/ports/lang/gcc16-devel/work.GOOD/gcc-16-20251130/gcc/configure.ac:7775:
AC_COMPILE_IFELSE([AC_LANG_SOURCE([int main(void) {return 0;}])],
/wrkdirs/usr/ports/lang/gcc16-devel/work.GOOD/gcc-16-20251130/gcc/configure.ac:7785:
AC_LINK_IFELSE([AC_LANG_SOURCE([int main(void) {return 0;}])],
/wrkdirs/usr/ports/lang/gcc16-devel/work.GOOD/gcc-16-20251130/gcc/configure.ac:7899:
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
/wrkdirs/usr/ports/lang/gcc16-devel/work.GOOD/gcc-16-20251130/gcc/configure.ac:7913:
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[