On 30 October 2012 09:28, Jonathan Wakely wrote: > On 30 October 2012 09:05, Michael Haubenwallner wrote: >> Any chance to get this in for 4.8? > > I'm looking into it today.
Consider the case where one object file containing std::string().erase() is built with an older GCC without the fix for PR 40518, then it's linked to a new libstdc++.so where the empty rep is read-only. The program will attempt to write to the empty rep, but now it's read-only and will crash. I don't think we can apply it unless we change the library ABI so that no pre-PR40518 objects can link to a libstdc++.so containing a read-only empty rep.