diff options
author | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2015-05-29 22:31:28 +0000 |
---|---|---|
committer | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2015-05-29 22:31:28 +0000 |
commit | 8e9c70be7fc52db0a08d58ecfa29d33dd505a957 (patch) | |
tree | 941722642a9e981cdfd8ac196cbfef6f1fb338e5 /llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp | |
parent | 2cfd9d574d8f75491a5054116bae1f52fc75748c (diff) | |
download | llvm-8e9c70be7fc52db0a08d58ecfa29d33dd505a957.zip llvm-8e9c70be7fc52db0a08d58ecfa29d33dd505a957.tar.gz llvm-8e9c70be7fc52db0a08d58ecfa29d33dd505a957.tar.bz2 |
Add descriptive names to sanitizer entries in /proc/self/maps. Helps debugging.
This is done by creating a named shared memory region, unlinking it
and setting up a private (i.e. copy-on-write) mapping of that instead
of a regular anonymous mapping. I've experimented with regular
(sparse) files, but they can not be scaled to the size of MSan shadow
mapping, at least on Linux/X86_64 and ext3 fs.
Controlled by a common flag, decorate_proc_maps, disabled by default.
This patch has a few shortcomings:
* not all mappings are annotated, especially in TSan.
* our handling of memset() of shadow via mmap() puts small anonymous
mappings inside larger named mappings, which looks ugly and can, in
theory, hit the mapping number limit.
llvm-svn: 238621
Diffstat (limited to 'llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp')
0 files changed, 0 insertions, 0 deletions