https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123908
--- Comment #16 from LIU Hao <lh_mouse at 126 dot com> --- Those symbols are from convenience libraries, which are static libraries that are linked into a shared library and export symbols. In your (broken) build log, there's libtool: link: /builddir/build/BUILD/mingw-gcc-16.0.1-build/gcc-16.0.1-20260127/build_ucrt64/./gcc/xgcc -shared-libgcc -B/builddir/build/BUILD/mingw-gcc-16.0.1-build/gcc-16.0.1-20260127/build_ucrt64/./gcc -nostdinc++ -L/builddir/build/BUILD/mingw-gcc-16.0.1-build/gcc-16.0.1-20260127/build_ucrt64/x86_64-w64-mingw32ucrt/libstdc++-v3/src -L/builddir/build/BUILD/mingw-gcc-16.0.1-build/gcc-16.0.1-20260127/build_ucrt64/x86_64-w64-mingw32ucrt/libstdc++-v3/src/.libs -L/builddir/build/BUILD/mingw-gcc-16.0.1-build/gcc-16.0.1-20260127/build_ucrt64/x86_64-w64-mingw32ucrt/libstdc++-v3/libsupc++/.libs -L/usr/x86_64-w64-mingw32ucrt/lib -L/usr/mingw/lib -isystem /usr/x86_64-w64-mingw32ucrt/include -isystem /usr/mingw/include -B/usr/x86_64-w64-mingw32ucrt/bin/ -B/usr/x86_64-w64-mingw32ucrt/lib/ -isystem /usr/x86_64-w64-mingw32ucrt/include -isystem /usr/x86_64-w64-mingw32ucrt/sys-include -shared -nostdlib /usr/x86_64-w64-mingw32ucrt/sys-root/mingw/lib/../lib/dllcrt2.o /builddir/build/BUILD/mingw-gcc-16.0.1-build/gcc-16.0.1-20260127/build_ucrt64/./gcc/crtbegin.o .libs/compatibility.o .libs/compatibility-debug_list.o .libs/compatibility-debug_list-2.o .libs/compatibility-atomic-c++0x.o .libs/compatibility-c++0x.o .libs/compatibility-chrono.o .libs/compatibility-condvar.o .libs/compatibility-thread-c++0x.o -Wl,--whole-archive ../libsupc++/.libs/libsupc++convenience.a ../src/c++98/.libs/libc++98convenience.a ../src/c++11/.libs/libc++11convenience.a ../src/c++17/.libs/libc++17convenience.a ../src/c++20/.libs/libc++20convenience.a -Wl,--no-whole-archive -L/builddir/build/BUILD/mingw-gcc-16.0.1-build/gcc-16.0.1-20260127/build_ucrt64/x86_64-w64-mingw32ucrt/libstdc++-v3/libsupc++/.libs -L/builddir/build/BUILD/mingw-gcc-16.0.1-build/gcc-16.0.1-20260127/build_ucrt64/x86_64-w64-mingw32ucrt/libstdc++-v3/src -L/builddir/build/BUILD/mingw-gcc-16.0.1-build/gcc-16.0.1-20260127/build_ucrt64/x86_64-w64-mingw32ucrt/libstdc++-v3/src/.libs -L/usr/x86_64-w64-mingw32ucrt/lib -L/usr/mingw/lib -L/builddir/build/BUILD/mingw-gcc-16.0.1-build/gcc-16.0.1-20260127/build_ucrt64/./gcc -L/usr/x86_64-w64-mingw32ucrt/bin -L/usr/x86_64-w64-mingw32ucrt/sys-root/mingw/lib/../lib -L/usr/x86_64-w64-mingw32ucrt/sys-root/mingw/lib -lmingw32 -lgcc_s -lgcc -lmingwex -lmsvcrt -lkernel32 -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc_s -lgcc -lmingwex -lmsvcrt -lkernel32 /builddir/build/BUILD/mingw-gcc-16.0.1-build/gcc-16.0.1-20260127/build_ucrt64/./gcc/crtend.o -Wl,-O1 -Wl,--gc-sections -Wl,--version-script=libstdc++-symbols.ver -o .libs/libstdc++-6.dll -Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker .libs/libstdc++.dll.a In my (working) build log, there's libtool: link: /home/lh_mouse/GitHub/MINGW-packages/mingw-w64-gcc/src/build-MINGW64/./gcc/xgcc -shared-libgcc -B/home/lh_mouse/GitHub/MINGW-packages/mingw-w64-gcc/src/build-MINGW64/./gcc -nostdinc++ -L/home/lh_mouse/GitHub/MINGW-packages/mingw-w64-gcc/src/build-MINGW64/x86_64-w64-mingw32/libstdc++-v3/src -L/home/lh_mouse/GitHub/MINGW-packages/mingw-w64-gcc/src/build-MINGW64/x86_64-w64-mingw32/libstdc++-v3/src/.libs -L/home/lh_mouse/GitHub/MINGW-packages/mingw-w64-gcc/src/build-MINGW64/x86_64-w64-mingw32/libstdc++-v3/libsupc++/.libs -L/mingw64/x86_64-w64-mingw32/lib -L/mingw64/lib -isystem /mingw64/x86_64-w64-mingw32/include -isystem /mingw64/include -B/mingw64/x86_64-w64-mingw32/bin/ -B/mingw64/x86_64-w64-mingw32/lib/ -isystem /mingw64/x86_64-w64-mingw32/include -isystem /mingw64/x86_64-w64-mingw32/sys-include -shared -nostdlib C:/MSYS64/mingw64/lib/../lib/dllcrt2.o C:/MSYS64/home/lh_mouse/GitHub/MINGW-packages/mingw-w64-gcc/src/build-MINGW64/gcc/crtbegin.o .libs/compatibility.o .libs/compatibility-debug_list.o .libs/compatibility-debug_list-2.o .libs/compatibility-atomic-c++0x.o .libs/compatibility-c++0x.o .libs/compatibility-chrono.o .libs/compatibility-condvar.o .libs/compatibility-thread-c++0x.o -Wl,--whole-archive ../libsupc++/.libs/libsupc++convenience.a ../src/c++98/.libs/libc++98convenience.a ../src/c++11/.libs/libc++11convenience.a ../src/c++17/.libs/libc++17convenience.a ../src/c++20/.libs/libc++20convenience.a -Wl,--no-whole-archive -L/home/lh_mouse/GitHub/MINGW-packages/mingw-w64-gcc/src/build-MINGW64/x86_64-w64-mingw32/libstdc++-v3/libsupc++/.libs -L/home/lh_mouse/GitHub/MINGW-packages/mingw-w64-gcc/src/build-MINGW64/x86_64-w64-mingw32/libstdc++-v3/src -L/home/lh_mouse/GitHub/MINGW-packages/mingw-w64-gcc/src/build-MINGW64/x86_64-w64-mingw32/libstdc++-v3/src/.libs -L/mingw64/x86_64-w64-mingw32/lib -L/mingw64/lib -liconv -LC:/MSYS64/home/lh_mouse/GitHub/MINGW-packages/mingw-w64-gcc/src/build-MINGW64/x86_64-w64-mingw32/libstdc++-v3/src -LC:/MSYS64/home/lh_mouse/GitHub/MINGW-packages/mingw-w64-gcc/src/build-MINGW64/x86_64-w64-mingw32/libstdc++-v3/src/.libs -LC:/MSYS64/home/lh_mouse/GitHub/MINGW-packages/mingw-w64-gcc/src/build-MINGW64/x86_64-w64-mingw32/libstdc++-v3/libsupc++/.libs -LC:/MSYS64/mingw64/x86_64-w64-mingw32/lib -LC:/MSYS64/mingw64/lib -LC:/MSYS64/home/lh_mouse/GitHub/MINGW-packages/mingw-w64-gcc/src/build-MINGW64/gcc -LC:/MSYS64/mingw64/x86_64-w64-mingw32/bin -LC:/MSYS64/mingw64/lib/../lib -lmingw32 -lgcc_s -lgcc -lmingwex -lmsvcrt -lkernel32 -lmcfgthread -lkernel32 -lntdll -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc_s -lgcc -lmingwex -lmsvcrt -lkernel32 -lmcfgthread -lkernel32 -lntdll C:/MSYS64/home/lh_mouse/GitHub/MINGW-packages/mingw-w64-gcc/src/build-MINGW64/gcc/crtend.o -Wl,-O1 -Wl,--gc-sections -o .libs/libstdc++-6.dll -Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker .libs/libstdc++.dll.a Most options are identical (except for paths) but there's one difference: Mine doesn't have `-Wl,--version-script=libstdc++-symbols.ver`. Maybe that's the difference? It shouldn't be passed for mingw targets.
