This is an archive of the discontinued LLVM Phabricator instance.

[gcov/Darwin] Ensure external symbols are exported when using an export list
ClosedPublic

Authored by vsk on Nov 30 2018, 4:16 PM.

Details

Summary

Make sure that symbols needed to implement runtime support for gcov are
exported when using an export list on Darwin.

Without the clang driver exporting these symbols, the linker hides them,
resulting in tapi verification failures.

rdar://45944768

Diff Detail

Repository
rL LLVM

Event Timeline

vsk created this revision.Nov 30 2018, 4:16 PM
ributzka added inline comments.Nov 30 2018, 5:06 PM
clang/lib/Driver/ToolChains/Darwin.cpp
1037 ↗(On Diff #176217)

Are the symbols mutually exclusive?

vsk marked an inline comment as done.Nov 30 2018, 5:07 PM
vsk added inline comments.
clang/lib/Driver/ToolChains/Darwin.cpp
1037 ↗(On Diff #176217)

Yes, since the runtime is a .a, the gcov-specific symbols aren't pulled in when clang-cov is enabled and vice versa.

This revision is now accepted and ready to land.Nov 30 2018, 5:13 PM
marco-c accepted this revision.Dec 3 2018, 8:54 AM
This revision was automatically updated to reflect the committed changes.