[PATCH] PR libstdc++/83834 replace wildcard pattern in linker script
Jonathan Wakely
jwakely@redhat.com
Tue Jan 16 12:47:00 GMT 2018
The soon-to-be-released binutils 2.30 makes a small change to how
lambda functions are demangled, which causes some unwanted symbols to
match a wildcard pattern in the GLIBCXX_3.4 version node of our linker
script. The only symbol that is supposed to match the pattern is
std::cerr so we should just name that explicitly. That prevents other
new symbols matching and being added to the old version.
See PR 83893 for the general problem, which we should fix later.
PR libstdc++/83834
* config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard
pattern with exact match for std::cerr.
Tested powerpc64le-linux with binutils 2.25.1-32.base.el7_4.1 and on
x86_64-linux with a binutils-2.3.0.0 snapshot from 2018-01-13.
Committed to trunk, backports to follow.
-------------- next part --------------
commit f8896e7451cd61008e0ceb0ac9a770d5cb77d85b
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Tue Jan 16 12:01:36 2018 +0000
PR libstdc++/83834 replace wildcard pattern in linker script
PR libstdc++/83834
* config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard
pattern with exact match for std::cerr.
diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver
index 774bedec9bc..5e66dc5cc3f 100644
--- a/libstdc++-v3/config/abi/pre/gnu.ver
+++ b/libstdc++-v3/config/abi/pre/gnu.ver
@@ -60,7 +60,7 @@ GLIBCXX_3.4 {
std::basic_[t-z]*;
std::ba[t-z]*;
std::b[b-z]*;
- std::c[a-g]*;
+ std::cerr;
# std::char_traits;
# std::c[i-z]*;
std::c[i-n]*;
More information about the Libstdc++
mailing list