On 30 October 2012 10:11, Jonathan Wakely wrote: > 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.
If I can convince myself this can't happen then I'll commit it, but I need to look into it further this evening.