-
- Downloads
libstdc++: Export global iostreams with GLIBCXX_3.4.31 symver [PR108969]
Since GCC 13 the global iostream objects are only initialized once in libstdc++, and not by a std::ios::Init object in every translation unit that includes <iostream>. To avoid using uninitialized streams defined in an older libstdc++.so, translation units using the global iostreams should depend on the GLIBCXX_3.4.31 symver. Define std::cin as std::__io::cin and then export it as std::cin@@GLIBCXX_3.4.31 so that references to std::cin bind to the new symver. Also export it as @GLIBCXX_3.4 for backwards compatibility libstdc++-v3/ChangeLog: PR libstdc++/108969 * src/Makefile.am: Move globals_io.cc to here. * src/Makefile.in: Regenerate. * src/c++98/Makefile.am: Remove globals_io.cc from here. * src/c++98/Makefile.in: Regenerate. * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust symbol name and then export with GLIBCXX_3.4.31 symver. (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise. * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Regenerate. * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerate. * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Regenerate. * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Regenerate. * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Regenerate. * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Regenerate. * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerate. * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerate. * config/abi/pre/gnu.ver: Add iostream objects to new symver.
Showing
- libstdc++-v3/config/abi/post/aarch64-linux-gnu/baseline_symbols.txt 16 additions, 8 deletions...v3/config/abi/post/aarch64-linux-gnu/baseline_symbols.txt
- libstdc++-v3/config/abi/post/i486-linux-gnu/baseline_symbols.txt 16 additions, 8 deletions...++-v3/config/abi/post/i486-linux-gnu/baseline_symbols.txt
- libstdc++-v3/config/abi/post/m68k-linux-gnu/baseline_symbols.txt 16 additions, 8 deletions...++-v3/config/abi/post/m68k-linux-gnu/baseline_symbols.txt
- libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt 16 additions, 8 deletions.../config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt
- libstdc++-v3/config/abi/post/riscv64-linux-gnu/baseline_symbols.txt 16 additions, 8 deletions...v3/config/abi/post/riscv64-linux-gnu/baseline_symbols.txt
- libstdc++-v3/config/abi/post/s390x-linux-gnu/baseline_symbols.txt 16 additions, 8 deletions...+-v3/config/abi/post/s390x-linux-gnu/baseline_symbols.txt
- libstdc++-v3/config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt 16 additions, 8 deletions.../config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt
- libstdc++-v3/config/abi/post/x86_64-linux-gnu/baseline_symbols.txt 16 additions, 8 deletions...-v3/config/abi/post/x86_64-linux-gnu/baseline_symbols.txt
- libstdc++-v3/config/abi/pre/gnu.ver 14 additions, 0 deletionslibstdc++-v3/config/abi/pre/gnu.ver
- libstdc++-v3/src/Makefile.am 1 addition, 0 deletionslibstdc++-v3/src/Makefile.am
- libstdc++-v3/src/Makefile.in 2 additions, 1 deletionlibstdc++-v3/src/Makefile.in
- libstdc++-v3/src/c++98/Makefile.am 0 additions, 1 deletionlibstdc++-v3/src/c++98/Makefile.am
- libstdc++-v3/src/c++98/Makefile.in 7 additions, 9 deletionslibstdc++-v3/src/c++98/Makefile.in
- libstdc++-v3/src/c++98/globals_io.cc 24 additions, 8 deletionslibstdc++-v3/src/c++98/globals_io.cc
Loading
Please register or sign in to comment