Hi, During 8.x, the rs6000 target-specific mangling was reorganised which uncovered a long-standing bug in Darwin’s mangling for ‘IBM’ long double. Now the symbols are correctly mangled, and we end up with a bunch of test link fails.
This patch adds the necessary subset of the Linux long double exports to Darwin’s export table. I have tested this on a few bootstrap/regtest cycles on powerpc-darwin9, and on the power7 linux system. For the record, I’ve noted the library versions from the Linux side, although Darwin does not version symbols in this way. OK for trunk and 8.x? thanks Iain libstdc++/ * /config/os/bsd/darwin/ppc-extra.ver: Append long double symbols. diff --git a/libstdc++-v3/config/os/bsd/darwin/ppc-extra.ver b/libstdc++-v3/config/os/bsd/darwin/ppc-extra.ver index ffe32b6..f0aee9e 100644 --- a/libstdc++-v3/config/os/bsd/darwin/ppc-extra.ver +++ b/libstdc++-v3/config/os/bsd/darwin/ppc-extra.ver @@ -1 +1,22 @@ __eprintf; +# 3.4 + _ZNSt14numeric_limitsIgE*; + _ZNSirsERg; + _ZNSolsEg; + _ZNSt13basic_istreamIwSt11char_traitsIwEErsERg; + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEg; + _ZSt14__convert_to_vIgEvPKcRT_RSt12_Ios_IostateRKP*; + _ZStlsIg[cw]St11char_traitsI[cw]EERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E; + _ZStrsIg[cw]St11char_traitsI[cw]EERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E; +# 3.4.7 + _ZNSi10_M_extractIgEERSiRT_; + _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIgEERS2_RT_; + _ZNSo9_M_insertIgEERSoT_; + _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIgEERS2_T_; +# 3.4.10 + _ZNKSt3tr14hashIgEclEg; + _ZNKSt4hashIgEclEg; +# ldbl 1.3 + _ZT[IS]g; + _ZT[IS]Pg; + _ZT[IS]PKg;