On 07/08/20 15:17 +0100, Jonathan Wakely via Libstdc++ wrote:
On 07/08/20 14:48 +0100, Jonathan Wakely wrote:
On 07/08/20 14:02 +0200, Rainer Orth wrote:
Hi Jonathan,

Here's the combined patch, based on your original with my proposed
simplifications applied.

I've now pushed that combined patch to master.

Sorry it took so long to integrate your changes, but thanks very much
for the contribution to GCC!

it seems this patch caused

+FAIL: libstdc++-abi/abi_check

for 32-bit targets/multilibs.  I'm seeing it on both i386-pc-solaris2.11
and x86_64-pc-linux-gnu (32-bit only).

# of added symbols:              10
# of missing symbols:            8
# of undesignated symbols:       0
# of incompatible symbols:       8

I probably need to fix the wildcards in the linker script. I'll take
a look now.

I see the problem.

It should be fixed at r11-2608-9e4ebad20a064d10df451cfb2cea9853d339a898

Tested x86_64-linux, and the 21_strings and check-abi tests run with
-m32 too. I'm running the full testsuite with -m32 now.

Sorry for breaking 32-bit AGAIN.



commit 9e4ebad20a064d10df451cfb2cea9853d339a898
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Fri Aug 7 16:38:51 2020

    libstdc++: Fix linker script patterns for 32-bit targets
    
    When making the patterns less greedy I forgot to use [jmy] for unsigned
    integer parameters.
    
    libstdc++-v3/ChangeLog:
    
            * config/abi/pre/gnu.ver: Fix wildcards for wstring symbols.

diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver
index b582f53e363..5ffe9d95289 100644
--- a/libstdc++-v3/config/abi/pre/gnu.ver
+++ b/libstdc++-v3/config/abi/pre/gnu.ver
@@ -294,9 +294,9 @@ GLIBCXX_3.4 {
     _ZNSbIwSt11char_traitsIwESaIwEE6insertE[PRwjmvy]*;
     _ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EE[PRwjmvy]*;
     _ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv;
-    _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmm[PRm]*;
-    _ZNSbIwSt11char_traitsIwESaIwEE6resizeEm*;
-    _ZNSbIwSt11char_traitsIwESaIwEE7reserveEm;
+    _ZNSbIwSt11char_traitsIwESaIwEE7replaceE[jmy][jmy]*;
+    _ZNSbIwSt11char_traitsIwESaIwEE6resizeE[jmy]*;
+    _ZNSbIwSt11char_traitsIwESaIwEE7reserveE[jmy];
     _ZNSbIwSt11char_traitsIwESaIwEE7[a-z]*EES6_[NPRjmy]*;
     _ZNSbIwSt11char_traitsIwESaIwEE7[a-z]*EES6_S[56]*;
     _ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC*;

Reply via email to