[esan] EfficiencySanitizer base runtime library

Description

[esan] EfficiencySanitizer base runtime library

Summary:
Adds the initial version of a runtime library for the new
EfficiencySanitizer ("esan") family of tools. The library includes:

+ Slowpath code via callouts from the compiler instrumentation for

each memory access.

+ Registration of atexit() to call finalization code.

+ Runtime option flags controlled by the environment variable

ESAN_OPTIONS.  The common sanitizer flags are supported such as
verbosity and log_path.

+ An initial simple test.

Still TODO: common code for libc interceptors and shadow memory mapping,
and tool-specific code for shadow state updating.

Reviewers: eugenis, vitalybuka, aizatsky, filcab

Subscribers: filcab, vkalintiris, kubabrecka, llvm-commits, zhaoqin, kcc

Differential Revision: http://reviews.llvm.org/D19168

Details

Committed
brueningApr 21 2016, 2:32 PM
Differential Revision
D19168: [esan] EfficiencySanitizer base runtime library
Parents
rL267059: [esan] EfficiencySanitizer driver flags
Branches
Unknown
Tags
Unknown