This is an archive of the discontinued LLVM Phabricator instance.

Reexport operator new / delete from libc++abi
ClosedPublic

Authored by mehdi_amini on Mar 8 2017, 3:43 PM.

Details

Summary

Both libc++ and libc++abi export a weak definition of operator
new/delete. On Darwin, this can often cause dirty __DATA in the
shared cache when having to switch from one to the other. Instead,
libc++ should reexport libc++abi's implementation of these symbols.

Patch by: Ted Kremenek <kremenek@apple.com>

Event Timeline

mehdi_amini created this revision.Mar 8 2017, 3:43 PM

Note: this is already shipping like this for ~2 years in our OSes.

EricWF accepted this revision.Mar 22 2017, 7:36 PM

LGTM. We'll hear soon enough if this starts causing problems.

This revision is now accepted and ready to land.Mar 22 2017, 7:36 PM
This revision was automatically updated to reflect the committed changes.