On 12/08/19 17:41 +0100, Jonathan Wakely wrote:
The src/c++17/string-inst.cc file needs to override the default string
ABI so that it still contains the expected symbols even when the library
is configured with --with-default-libstdcxx-abi=gcc4-compatible.

        PR libstdc++/90361
        * src/c++17/string-inst.cc: Use _GLIBCXX_USE_CXX11_ABI=1 by default.

Tested x86_64-linux, committed to trunk.

This documents the bug in the gcc-9 release notes.

Committed to CVS.

Index: htdocs/gcc-9/changes.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-9/changes.html,v
retrieving revision 1.74
diff -u -r1.74 changes.html
--- htdocs/gcc-9/changes.html	12 Aug 2019 07:31:04 -0000	1.74
+++ htdocs/gcc-9/changes.html	14 Aug 2019 11:17:34 -0000
@@ -70,8 +70,18 @@
     definition of <code>std::rotate</code> is not used.
   </li>
   <li>
-      The automatic template instantiation at link time (<a href="https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/C_002b_002b-Dialect-Options.html#index-frepo";><code>-frepo</code></a>) has been deprecated and
-    will be removed in a future release.
+    The automatic template instantiation at link time
+    (<a href="https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/C_002b_002b-Dialect-Options.html#index-frepo";><code>-frepo</code></a>)
+    has been deprecated and will be removed in a future release.
+  </li>
+  <li>
+    The <code>--with-default-libstdcxx-abi=gcc4-compatible</code> configure
+    option is broken in the 9.1 and 9.2 releases, producing a shared library
+    with missing symbols
+    (see <a href="https://gcc.gnu.org/PR90361";>Bug 90361</a>).
+    As a workaround, configure without that option and build GCC as normal,
+    then edit the installed <code>&lt;bits/c++config.h&gt;</code> headers
+    to define the <code>_GLIBCXX_USE_CXX11_ABI</code> macro to <code>0</code>.
   </li>
 
 </ul>

Reply via email to