Remove greedy wildcards from libstdc++ linker script
authorJonathan Wakely <jwakely@redhat.com>
Wed, 2 Oct 2019 15:52:41 +0000 (16:52 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Wed, 2 Oct 2019 15:52:41 +0000 (16:52 +0100)
The only symbols matched by std::e[a-q]* and std::e[s-z]* that are
supposed to be in the GLIBCXX_3.4 version are std::exception::* and
std::endl and std::ends. The latter two already have explicit patterns
matching them, so we just need to match std::exception::*.

This change ensures that any new symbols with a return type of
std::enable_if<...> are not added to the GLIBCXX_3.4 version.

* config/abi/pre/gnu.ver: Tighten up greedy wildcards.

From-SVN: r276468

libstdc++-v3/ChangeLog
libstdc++-v3/config/abi/pre/gnu.ver

index 9b534cb2832370f7a4c09a972c06649c1ed79e37..2474a69e8054d35e45945b974583d4023709bb3e 100644 (file)
@@ -1,5 +1,7 @@
 2019-10-02  Jonathan Wakely  <jwakely@redhat.com>
 
+       * config/abi/pre/gnu.ver: Tighten up greedy wildcards.
+
        * doc/xml/manual/parallel_mode.xml: Add caveat about support for
        recent standards.
        * doc/html/*: Regenerate.
index 07a0003682795a34f4f12fe4099562cc0acdf9c8..e61fbe0ad66c24f63649349677c5b562050d8fee 100644 (file)
@@ -80,9 +80,8 @@ GLIBCXX_3.4 {
 #     std::domain_error::d*;
 #     std::domain_error::~d*;
       std::d[p-z]*;
-      std::e[a-q]*;
       std::error[^_]*;
-      std::e[s-z]*;
+      std::exception::*;
       std::gslice*;
       std::h[^a]*;
       std::i[a-m]*;