Add AtosSymbolizer and DlAddrSymbolizer as fallbacks for OS X
authorKuba Brecka <kuba.brecka@gmail.com>
Sun, 22 Mar 2015 10:02:50 +0000 (10:02 +0000)
committerKuba Brecka <kuba.brecka@gmail.com>
Sun, 22 Mar 2015 10:02:50 +0000 (10:02 +0000)
commit0be4e0e0c166825351ed28a19c7e0d116461acbd
tree9ddf11a10e7a8294b6232a63f005228bc724092a
parent08dcf60295b79ac6a79ac94933778001eab2d389
Add AtosSymbolizer and DlAddrSymbolizer as fallbacks for OS X

This patch changes the symbolizer chain on OS X (which currently only uses 1
symbolizer at most) to use this behavior:

* By default, use LLVMSymbolizer -> DlAddrSymbolizer.
* If the llvm-symbolizer binary is not found, use AtosSymbolizer
    -> DlAddrSymbolizer.
* If the user specifies ASAN_SYMBOLIZER_PATH=.../atos, then use AtosSymbolizer
    -> DlAddrSymbolizer.
* If neither llvm-symbolizer or atos is found, or external symbolication is
    disabled with ASAN_SYMBOLIZER_PATH="", use DlAddrSymbolizer.

Reviewed at http://reviews.llvm.org/D8285

llvm-svn: 232908
compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc
compiler-rt/test/asan/TestCases/Darwin/atos-symbolizer.cc [new file with mode: 0644]
compiler-rt/test/asan/TestCases/Darwin/sandbox-symbolizer.cc [new file with mode: 0644]
compiler-rt/test/asan/TestCases/Darwin/suppressions-sandbox.cc [new file with mode: 0644]