[PATCH] D12318: [ASan] Enable optional ASan recovery

Yury Gribov via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 25 05:53:23 PDT 2015


ygribov created this revision.
ygribov added reviewers: kcc, samsonov.
ygribov added subscribers: llvm-commits, dvyukov, m.ostepenko.
ygribov set the repository for this revision to rL LLVM.

This patch adds flags to clang and libasan to continue execution after detection of first error (in hope that more errors can be detected during single run). Such mode allows for a faster run-report-fix loop on embedded system where fixing a bug and preparing new firmware may take a significant time. To enable, user should build his code with -fsanitize-recover=address and then run it under ASAN_OPTIONS=keep_going=1.

I know kcc's generally negative attitude towards keep_going mode but I want the patch to at least be available publicly so that poor souls dealing with complex systems may access it easily.

Repository:
  rL LLVM

http://reviews.llvm.org/D12318

Files:
  include/clang/Basic/Sanitizers.h
  include/clang/Frontend/CodeGenOptions.def
  include/llvm/Transforms/Instrumentation.h
  lib/CodeGen/BackendUtil.cpp
  lib/Driver/SanitizerArgs.cpp
  lib/Frontend/CompilerInvocation.cpp
  lib/Transforms/Instrumentation/AddressSanitizer.cpp
  lib/asan/asan_flags.inc
  lib/asan/asan_interceptors.cc
  lib/asan/asan_interface_internal.h
  lib/asan/asan_internal.h
  lib/asan/asan_poisoning.cc
  lib/asan/asan_report.cc
  lib/asan/asan_report.h
  lib/asan/asan_rtl.cc
  lib/asan/scripts/asan_symbolize.py
  test/Driver/fsanitize.c
  test/asan/TestCases/Linux/interface_symbols_linux.c
  test/asan/TestCases/Linux/keep_going_torture.cc
  test/asan/TestCases/keep-going.c

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D12318.33064.patch
Type: text/x-patch
Size: 44274 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150825/cc05341b/attachment.bin>


More information about the llvm-commits mailing list