Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(498)

Side by Side Diff: docs/ASAN.rst

Issue 2079723002: Instrumented malloc and free with dummy functions. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Cleaned up instrumentCall() Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | runtime/szrt_asan.c » ('j') | src/IceInstrumentation.cpp » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 Using AddressSanitizer in Subzero
2 =================================
3
4 AddressSanitizer is a powerful compile-time tool used to detect and report
5 illegal memory accesses. For a full description of the tool, see the original
6 `paper
7 <https://www.usenix.org/system/files/conference/atc12/atc12-final39.pdf>`_.
8 AddressSanitizer is only supported on native builds of .pexe files and cannot be
9 used in production.
10
11 In Subzero, AddressSanitizer depends on being able to find and instrument calls
12 to various functions such as malloc() and free(), and as such the .pexe file
13 being translated must not have had those symbols stripped. Subzero will not
14 complain if it is told to translate a .pexe file with its symbols stripped, but
15 it will not be able to find calls to malloc() and free(), so AddressSanitizer
16 will not work correctly in the final executable.
17
18 These are the steps to compile hello.c to an instrumented object file::
19
20 pnacl-clang -o hello.nonfinal.pexe hello.c
21 pnacl-finalize --no-strip-syms -o hello.pexe hello.nonfinal.pexe
22 pnacl-sz -fsanitize-address -filetype=obj -o hello.o hello.pexe
23
24 The resulting object file must be linked with the Subzero-specific
25 AddressSanitizer runtime to work correctly. A .pexe file can be compiled with
26 AddressSanitizer and properly linked into a final executable using
27 subzero/pydir/szbuild.py with the --fsanitize-address flag, i.e.::
28
29 pydir/szbuild.py --fsanitize-address hello.pexe
30
Jim Stichnoth 2016/06/17 22:39:24 Remove trailing "whitespace" (i.e. newlines) to ke
tlively 2016/06/17 23:03:58 I didn't see this comment until after I landed, bu
31
32
33
OLDNEW
« no previous file with comments | « no previous file | runtime/szrt_asan.c » ('j') | src/IceInstrumentation.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698