This is an archive of the discontinued LLVM Phabricator instance.

[ASan] Allow the users of SymbolizationLoop to make use of the -dsym_hint option in llvm-symbolizer
ClosedPublic

Authored by glider on Nov 18 2014, 9:25 AM.

Details

Reviewers
earthdok
Summary

Let the users of SymbolizationLoop define a function that produces the list of .dSYM hints (possible path to the .dSYM bundle) for the given binary.
Because the hints can't be added to an existing llvm-symbolizer process, we spawn a new symbolizer process ones each time a new hint appears.
Those can only appear for binaries that we haven't seen before.

Diff Detail

Event Timeline

glider updated this revision to Diff 16340.Nov 18 2014, 9:25 AM
glider retitled this revision from to [ASan] Allow the users of SymbolizationLoop to make use of the -dsym_hint option in llvm-symbolizer.
glider updated this object.
glider edited the test plan for this revision. (Show Details)
glider added a reviewer: earthdok.
glider added subscribers: Unknown Object (MLST), kubamracek.
samsonov added inline comments.
projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
86

Why not --dsym-hint? (for consistency)

glider updated this revision to Diff 16482.Nov 21 2014, 4:57 AM

Addressed comments by Alexey and Sergey

glider added inline comments.Nov 21 2014, 4:58 AM
projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
86

Done.

earthdok added inline comments.Nov 21 2014, 5:37 AM
projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
364

s/this hint/all of the hints for this binary/

371

Whoa whoa, let's tune the C++ down a bit :P

dsym_hints = set(self.dsym_hint_producer(binary))
use_last_symbolizer = bool(dsym_hints - self.dsym_hints)
self.dsym_hints |= dsym_hints

Also I suggest to rename this to dsym_hints_for_binary.

glider added inline comments.Nov 21 2014, 5:53 AM
projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
364

Done

371

Thanks for shaking up my mind a bit.
Done.

glider updated this revision to Diff 16488.Nov 21 2014, 5:54 AM

Addressed Sergey's comments

earthdok accepted this revision.Nov 21 2014, 6:01 AM
earthdok edited edge metadata.

lgtm w/nit

projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
368

this belongs inside the if block

This revision is now accepted and ready to land.Nov 21 2014, 6:01 AM
glider updated this revision to Diff 16489.Nov 21 2014, 6:09 AM
glider edited edge metadata.

addressed the comment

projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
368

Done

glider closed this revision.Nov 24 2014, 1:31 AM

Landed in r222535