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.

Reply via email to