Chris suggested to talk to you about committing the AddressSanitizer (asan) run-time into the llvm tree (llvm-project/compiler-rt).
- What is the preferred name for the directory? (asan? libasan? address_sanitizer? AdressSanitizer?)
- Should the asan run-time use cmake, or just make, or what? The build is a bit tricky, especially for tests. We currently use make.
- How would you suggest to do the code review?
The code of the run-time is ~5 KLOC. http://code.google.com/p/address-sanitizer/source/browse/#svn%2Ftrunk%2Fasan
The Apple-specific part may make some Apple experts cry (or maybe not).
The code uses google’s coding style, which is similar, but not equivalent to the LLVM’s one. We check it using cpplint before commits.
LLVM license is used.
The tests are ~2.5 KLOC; most of the tests require the clang compiler with -faddress-sanitizer switch.
If possible, I’d prefer not to review the patch in a usual way (too big), but instead have the comments to the files in http://code.google.com/p/address-sanitizer/source/browse/#svn%2Ftrunk%2Fasan
Or, alternatively, commit everything as is and then iterate over individual files.
- The run-time library uses a couple of third_party files (BSD license) to parse process mapping.
W/o these files asan will work, but will not produce symbolizable traces.
Can we include these files as as in a separate directory? (They may be useful for other tools as well)
- Yet another piece of third-party code (mit license) is used for Apple-specific work (function overriding). Same question as above apply.
- test-specific: can I rely on gtest being installed? (fresh version is required).