On Tue, Mar 22, 2011 at 01:10:14PM -0000, Adam Butcher wrote:
After a bit of poking around with nm in various objects I determined
that the baseline_symbols files define what should be exported. The
following grep+sed combo adds the necessary export for any architecture
that exports the C1 constructor symbol.
grep _ZNSsC1EOSs libstdc++-v3/config/abi/post -R -l | xargs sed -i.bak
'/_ZNSsC2EPKcRKSaIcE/ iFUNC:_ZNSsC2EOSs@@GLIBCXX_3.4.14'
The result is attached as a patch against 4.6.0 20110321 (prerelease).
That's not the patch to export it, baseline_symbols.txt is just
for testing the ABI.
Furthermore, you can't add new symbols to GLIBCXX_3.4.14, which has
been already in gcc 4.5 and released almost a year ago, and lastly,
std::wstring has the same problem.
So, if Benjamin or other libstdc++ maintainers want it fixed for
4.6, you want a patch like attached, plus some testcases for both
std::string and std::wstring.