On Mon, 31 Mar 2025 at 16:11, Rainer Orth <r...@cebitec.uni-bielefeld.de> wrote:
>
> Jonathan Wakely <jwakely....@gmail.com> writes:
>
> > On Sun, 30 Mar 2025, 23:15 Jakub Jelinek, <ja...@redhat.com> wrote:
> >
> >> On Thu, Mar 27, 2025 at 02:04:24PM +0100, Jan Hubicka wrote:
> >> > > > Newline between functions please.
> >> > > >
> >> > > > OK with those two changes.
> >> > >
> >> > > Looking back through my inbox, this one doesn't seem to have been
> >> > > pushed. Was it superseded by something else, or is it just waiting for
> >> > > stage 1 now?
> >> >
> >> > Seems I missed the approval, sorry.  I will push it - I think it would
> >> > be useful to have it in.
> >> > (I have more libstdc++ work for next stage1, but solving this is IMO
> >> > useful)
> >>
> >> Unfortunately the exports in this patch only work on targets where size_t
> >> is
> >> unsigned long, not e.g. on ia32 where it is unsigned int, or targets where
> >> it is unsigned long long.
> >>
> >> Fixed thusly, tested on x86_64-linux and i686-linux, ok for trunk?
> >>
> >
> > OK, thanks
>
> with those two patches in, Solaris bootstrap with the native ld is
> broken linking libstdc++.so:
>
> ld: fatal: libstdc++-symbols.ver-sun: 7449: symbol 
> '_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb0EEEvPKcj':
>  symbol version conflict
> ld: fatal: libstdc++-symbols.ver-sun: 7450: symbol 
> '_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb1EEEvPKcj':
>  symbol version conflict
> ld: fatal: libstdc++-symbols.ver-sun: 7451: symbol 
> '_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb0EEEvPKwj':
>  symbol version conflict
> ld: fatal: libstdc++-symbols.ver-sun: 7452: symbol 
> '_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb1EEEvPKwj':
>  symbol version conflict
> collect2: error: ld returned 1 exit status
>
> E.g. 
> _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb0EEEvPKcj
> is matched by both
>
> _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE12_M*
>
> in GLIBCXX_3.4.21 and
>
> _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE12_M_constructILb[01]EEEvPK[cw][jmy]
>
> in GLIBCXX_3.4.34.

This should fix it:

--- a/libstdc++-v3/config/abi/pre/gnu.ver
+++ b/libstdc++-v3/config/abi/pre/gnu.ver
@@ -1767,7 +1767,8 @@ GLIBCXX_3.4.21 {
    
_ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE10_S_compareE[jmy][jmy];
    
_ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE11_M_capacityE[jmy];
    
_ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE12_Alloc_hiderC[12]EP[cw]RKS3_;
-    _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE12_M*;
+    
_ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE12_M_constructE[jmy][cw];
+    
_ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE12_M_constructI[NP]*;
    _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE13*;
    
_ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE14_M_replace_aux*;
    _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE1[68-9]*;

Reply via email to