This is an archive of the discontinued LLVM Phabricator instance.

[libcxx] Move to using libc++abi2.exp as the default symbol list for libc++
ClosedPublic

Authored by EricWF on Feb 19 2015, 3:18 PM.

Details

Summary

libc++abi2.exp should be used whenever cxxabi.h defines _LIBCPPABI_VERSION. This macro was added to libc++abi in 2012 in r149632. For this reason we should use libc++abi2.exp as default unless otherwise specified.

Also when building against an in-tree libc++abi we definitely want to use libc++abi2.exp.

I would love to know what OSX was the last to use libc++abi.exp but I can only test on 10.9.

Diff Detail

Event Timeline

EricWF updated this revision to Diff 20347.Feb 19 2015, 3:18 PM
EricWF retitled this revision from to [libcxx] Move to using libc++abi2.exp as the default symbol list for libc++.
EricWF updated this object.
EricWF edited the test plan for this revision. (Show Details)
EricWF added reviewers: mclow.lists, danalbert.
EricWF added a subscriber: Unknown Object (MLST).
EricWF updated this revision to Diff 20356.Feb 19 2015, 4:28 PM

Don't manually link in libc++abi during testing on OS X because the clang linker driver doesn't. The current behavior was hiding a bunch of test failures.

mclow.lists edited edge metadata.Feb 19 2015, 6:07 PM

I'm ok with this.

LGTM. I also verified the problem I reported is fixed now.

test/libcxx/test/config.py
446 ↗(On Diff #20356)

Minor nit, but you can inline the "target_platform" since it is not used anywhere else:

if self.target_info.platform() != 'darwin':
EricWF updated this revision to Diff 20449.Feb 20 2015, 6:27 PM
EricWF edited edge metadata.

Update and address comments.

EricWF accepted this revision.Feb 20 2015, 6:27 PM
EricWF added a reviewer: EricWF.

Accepting.

This revision is now accepted and ready to land.Feb 20 2015, 6:27 PM
EricWF closed this revision.Feb 20 2015, 6:28 PM