Commit Graph

4 Commits

Author SHA1 Message Date
Evgeniy Stepanov 5d69168906 [msan] Get rid of "using std::string" in msandr.
llvm-svn: 177714
2013-03-22 08:47:42 +00:00
Reid Kleckner 2325273641 [msan] Clean up extensions during msandr shutdown
Otherwise debug DynamoRIO complains at us for leaking memory.

llvm-svn: 176947
2013-03-13 13:59:09 +00:00
Reid Kleckner c9d382b5a4 [msan] intercept dlopen and clear shadow for it
Summary:
The loader does not call mmap() through the PLT because it has to
bootstrap the process before libc is present.  Hooking dlopen() isn't
enough either because the loader runs module initializers before
returning, and they could run arbitrary msan instrumented code.

If msandr is present, then we can intercept the mmaps from dlopen at the
syscall layer and clear the shadow there.  If msandr is missing, we
clear the shadow after dlopen() and hope any initializers are trivial.

Reviewers: eugenis

CC: kcc, llvm-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D509

llvm-svn: 176818
2013-03-11 18:07:42 +00:00
Evgeniy Stepanov 3065014026 [msan] MSanDR: initial commit.
MSanDR is a DynamoRio-based tool that handles uninstrumented libraries and
dynamically generated code for MSan.

llvm-svn: 175883
2013-02-22 09:34:19 +00:00