[asan] Support running without /proc.
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>
Thu, 27 Dec 2018 21:31:52 +0000 (21:31 +0000)
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>
Thu, 27 Dec 2018 21:31:52 +0000 (21:31 +0000)
commitd9df65fd0d407e393c051e19f9ba4614dc8b05f7
treefc242d01f859e9868c67608f940d59d0b83c0d34
parent04b7be08d201bb813c7fbed671fa759f5f9610d8
[asan] Support running without /proc.

Summary:
This patch lets ASan run when /proc is not accessible (ex. not mounted
yet). It includes a special test-only flag that emulates this condition
in an unpriviledged process.

This only matters on Linux, where /proc is necessary to enumerate
virtual memory mappings.

Reviewers: pcc, vitalybuka

Subscribers: kubamracek, llvm-commits

Differential Revision: https://reviews.llvm.org/D55874

llvm-svn: 350101
15 files changed:
compiler-rt/lib/asan/asan_linux.cc
compiler-rt/lib/asan/asan_thread.cc
compiler-rt/lib/hwasan/hwasan_thread.cc
compiler-rt/lib/sanitizer_common/sanitizer_flags.inc
compiler-rt/lib/sanitizer_common/sanitizer_linux.cc
compiler-rt/lib/sanitizer_common/sanitizer_linux.h
compiler-rt/lib/sanitizer_common/sanitizer_mac.cc
compiler-rt/lib/sanitizer_common/sanitizer_posix.cc
compiler-rt/lib/sanitizer_common/sanitizer_posix.h
compiler-rt/lib/sanitizer_common/sanitizer_procmaps.h
compiler-rt/lib/sanitizer_common/sanitizer_procmaps_bsd.cc
compiler-rt/lib/sanitizer_common/sanitizer_procmaps_common.cc
compiler-rt/lib/sanitizer_common/sanitizer_procmaps_linux.cc
compiler-rt/lib/sanitizer_common/sanitizer_procmaps_solaris.cc
compiler-rt/test/asan/TestCases/Posix/no-fd.cc