blob: 8cc9bb17b59de418b304acfb55eb8ce8821a9740 [file] [log] [blame]
Kostya Serebryany1e172b42011-11-30 01:07:02 +00001AddressSanitizer RT
2================================
Stephen Hines86277eb2015-03-23 12:06:32 -07003This directory contains sources of the AddressSanitizer (ASan) runtime library.
Kostya Serebryany1e172b42011-11-30 01:07:02 +00004
Stephen Hines6a211c52014-07-21 00:49:56 -07005Directory structure:
Kostya Serebryany1e172b42011-11-30 01:07:02 +00006README.txt : This file.
Alexey Samsonov5b1f0202012-09-06 06:39:02 +00007Makefile.mk : File for make-based build.
8CMakeLists.txt : File for cmake-based build.
Stephen Hines6a211c52014-07-21 00:49:56 -07009asan_*.{cc,h} : Sources of the asan runtime library.
Kostya Serebryany1e172b42011-11-30 01:07:02 +000010scripts/* : Helper scripts.
Alexey Samsonov5b1f0202012-09-06 06:39:02 +000011tests/* : ASan unit tests.
Kostya Serebryany1e172b42011-11-30 01:07:02 +000012
Alexey Samsonov5b1f0202012-09-06 06:39:02 +000013Also ASan runtime needs the following libraries:
14lib/interception/ : Machinery used to intercept function calls.
Stephen Hines86277eb2015-03-23 12:06:32 -070015lib/sanitizer_common/ : Code shared between various sanitizers.
Kostya Serebryany1e172b42011-11-30 01:07:02 +000016
Stephen Hines86277eb2015-03-23 12:06:32 -070017ASan runtime currently also embeds part of LeakSanitizer runtime for
18leak detection (lib/lsan/lsan_common.{cc,h}).
Kostya Serebryany1e172b42011-11-30 01:07:02 +000019
Stephen Hines86277eb2015-03-23 12:06:32 -070020ASan runtime can only be built by CMake. You can run ASan tests
21from the root of your CMake build tree:
Kostya Serebryany1e172b42011-11-30 01:07:02 +000022
Alexey Samsonov5b1f0202012-09-06 06:39:02 +000023make check-asan
Kostya Serebryany1e172b42011-11-30 01:07:02 +000024
Alexey Samsonov5b1f0202012-09-06 06:39:02 +000025For more instructions see:
26http://code.google.com/p/address-sanitizer/wiki/HowToBuild