https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124238
--- Comment #10 from James K. Lowden <jklowden at gcc dot gnu.org> --- (In reply to Richard Biener from comment #0) > In stagefeedback I see > > [ 3253s] /usr/x86_64-suse-linux/bin/ld: > /home/abuild/rpmbuild/BUILD/gcc16-16.0.1+git7689-build/gcc-16.0.1+git7689/ > obj-x86_64-suse-linux/prev-x86_64-suse-linux/libstdc++-v3/src/.libs/ > libstdc++.a(ext11-inst.o): in function `__gnu_cxx::stdio_filebuf<char, > std::char_traits<char> >::stdio_filebuf(int, std::_Ios_Openmode, unsigned > long)': > [ 3253s] > /home/abuild/rpmbuild/BUILD/gcc16-16.0.1+git7689-build/gcc-16.0.1+git7689/ > obj-x86_64-suse-linux/x86_64-suse-linux/libstdc++-v3/include/ext/ > stdio_filebuf.h:141:(.text. > _ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEC2EiSt13_Ios_Openmodem[_ZN9_ > _gnu_cxx13stdio_filebufIcSt11char_traitsIcEEC5EiSt13_Ios_Openmodem]+0x31): > undefined reference to `vtable for __gnu_cxx::stdio_filebuf<char, > std::char_traits<char> >' > [ 3254s] collect2: error: ld returned 1 exit status > [ 3254s] make[3]: *** [../../gcc/cobol/Make-lang.in:278: cobol1] Error 1 > > configured/built with > > [ 63s] + ../configure 'CFLAGS= -O2 -funwind-tables > -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type > -g' 'CXXFLAGS= -O2 -funwind-tables -fasynchronous-unwind-tables > -fstack-clash-protection -Werror=return-type -g' 'XCFLAGS= -O2 > -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection > -Werror=return-type -g' 'TCFLAGS= -O2 -funwind-tables > -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type > -g' 'GDCFLAGS= -O2 -funwind-tables -fasynchronous-unwind-tables > -fstack-clash-protection -g' --prefix=/usr --infodir=/usr/share/info > --mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64 > --enable-languages=c,c++,objc,fortran,obj-c++,ada,go,d,jit,rust,m2,cobol, > algol68 --enable-offload-targets=nvptx-none,amdgcn-amdhsa, > --enable-offload-defaulted --without-cuda-driver --enable-host-shared > --enable-checking=yes --disable-werror > --with-gxx-include-dir=/usr/include/c++/16 > --with-libstdcxx-zoneinfo=/usr/share/zoneinfo --enable-ssp --disable-libssp > --disable-libvtv --enable-cet=auto --disable-libcc1 --enable-plugin > --with-bugurl=https://bugs.opensuse.org/ '--with-pkgversion=SUSE Linux' > --with-slibdir=/lib64 --with-system-zlib --enable-libstdcxx-allocator=new > --disable-libstdcxx-pch --enable-libphobos > --enable-version-specific-runtime-libs --with-gcc-major-version-only > --enable-linker-build-id --enable-linux-futex --enable-gnu-indirect-function > --program-suffix=-16 --without-system-libunwind --enable-multilib > --with-arch-32=x86-64 --with-tune=generic > --with-build-config=bootstrap-lto-lean --enable-link-serialization > --build=x86_64-suse-linux --host=x86_64-suse-linux > ... > [ 66s] + setarch x86_64 -R make -Oline profiledbootstrap 'STAGE1_CFLAGS=-g > -O2' 'BOOT_CFLAGS=-O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 > -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables > -fstack-clash-protection -Werror=return-type -g' -j24 Would I be correct that what the linker is missing is associated with this line from gcc/cobol/lexio.cc ? __gnu_cxx::stdio_filebuf<char> outbuf(fdopen(output, "a"), std::ios::out); If so, the question is why it's sometimes excluded from the link.
