This is an archive of the discontinued LLVM Phabricator instance.

[tsan] Add global symbolication support into DlAddrSymbolizer
ClosedPublic

Authored by kubamracek on Nov 12 2015, 5:34 AM.

Details

Summary

DlAddrSymbolizer is used on OS X when we're running inside a sandbox that prevents us from spawning an external symbolizer. This patch adds support for symbolication of globals (implements SymbolizeData) for DlAddrSymbolizer.

Diff Detail

Repository
rL LLVM

Event Timeline

kubamracek updated this revision to Diff 40038.Nov 12 2015, 5:34 AM
kubamracek retitled this revision from to [tsan] Add global symbolication support into DlAddrSymbolizer.
kubamracek updated this object.
kubamracek added reviewers: dvyukov, glider, samsonov, kcc.
glider accepted this revision.Nov 12 2015, 5:42 AM
glider edited edge metadata.

LGTM

test/tsan/Darwin/symbolizer-dladdr.cc
2 ↗(On Diff #40038)

Do we also want an ASan test for this functionality?

21 ↗(On Diff #40038)

dvyukov: do we want to rename barrier_wait() to e.g. invisible_barrier_wait() or smth. else that indicates TSan doesn't know about this barrier?

This revision is now accepted and ready to land.Nov 12 2015, 5:42 AM
This revision was automatically updated to reflect the committed changes.
kubamracek added inline comments.Nov 12 2015, 7:37 AM
test/tsan/Darwin/symbolizer-dladdr.cc
2 ↗(On Diff #40038)

We have some dladdr tests in dladdr-demangling.cc, sandbox-symbolizer.cc and suppressions-sandbox.cc. Or did you mean to specifically add a test for symbolication of globals?