Skip to content
Snippets Groups Projects
  1. Jun 26, 2015
    • Anna Zaks's avatar
      [docs] Several updates to the Address Sanitizer webpage. · 376b8380
      Anna Zaks authored
       - Added the description of the interceptor suppression.
       - Re-organized a bit: grouped a few things under the Issue Suppression
         section, grouped IOC and leaks under a section, placed symbolication
         info into Symbolizing the Reports section..
       - In supported platforms: "MacOS" -> "OS X"; added "iOS Simulator"
       - Added a paragraph to the Usage section describing when DYLD_INSERT_LIBRARIES
         might need to be used.
       - "attribute((no_sanitize_address))" -> "__attribute__((no_sanitize("address")))"
       - Updated Leak Sanitizer page with most up to date info.
      ....
      
      http://reviews.llvm.org/D10559
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@240725 91177308-0d34-0410-b5e6-96231b3b80d8
      376b8380
  2. Jun 25, 2015
  3. Jun 24, 2015
  4. Jun 23, 2015
  5. Jun 22, 2015
  6. Jun 19, 2015
    • Alexey Samsonov's avatar
      [CFI] Require -flto instead of implying it. · 340eaaf2
      Alexey Samsonov authored
      Summary:
      This is unfortunate, but would let us land http://reviews.llvm.org/D10467,
      that makes ToolChains responsible for computing the set of sanitizers
      they support.
      
      Unfortunately, Darwin ToolChains doesn't know about actual OS they
      target until ToolChain::TranslateArgs() is called. In particular, it
      means we won't be able to construct SanitizerArgs for these ToolChains
      before that.
      
      This change removes SanitizerArgs::needsLTO() method, so that now
      ToolChain::IsUsingLTO(), which is called very early, doesn't need
      SanitizerArgs to implement this method.
      
      Docs and test cases are updated accordingly. See
      https://llvm.org/bugs/show_bug.cgi?id=23539, which describes why we
      start all these.
      
      Test Plan: regression test suite
      
      Reviewers: pcc
      
      Subscribers: cfe-commits
      
      Differential Revision: http://reviews.llvm.org/D10560
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@240170 91177308-0d34-0410-b5e6-96231b3b80d8
      340eaaf2
    • Eric Christopher's avatar
      Fix "the the" in comments/documentation/etc. · dfc33ed9
      Eric Christopher authored
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@240110 91177308-0d34-0410-b5e6-96231b3b80d8
      dfc33ed9
    • Peter Collingbourne's avatar
      Implement diagnostic mode for -fsanitize=cfi*, -fsanitize=cfi-diag. · cbd703b1
      Peter Collingbourne authored
      This causes programs compiled with this flag to print a diagnostic when
      a control flow integrity check fails instead of aborting. Diagnostics are
      printed using UBSan's runtime library.
      
      The main motivation of this feature over -fsanitize=vptr is fidelity with
      the -fsanitize=cfi implementation: the diagnostics are printed under exactly
      the same conditions as those which would cause -fsanitize=cfi to abort the
      program. This means that the same restrictions apply regarding compiling
      all translation units with -fsanitize=cfi, cross-DSO virtual calls are
      forbidden, etc.
      
      Differential Revision: http://reviews.llvm.org/D10268
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@240109 91177308-0d34-0410-b5e6-96231b3b80d8
      cbd703b1
    • Peter Collingbourne's avatar
      Introduce -fsanitize-trap= flag. · e530af8e
      Peter Collingbourne authored
      This flag controls whether a given sanitizer traps upon detecting
      an error. It currently only supports UBSan. The existing flag
      -fsanitize-undefined-trap-on-error has been made an alias of
      -fsanitize-trap=undefined.
      
      This change also cleans up some awkward behavior around the combination
      of -fsanitize-trap=undefined and -fsanitize=undefined. Previously we
      would reject command lines containing the combination of these two flags,
      as -fsanitize=vptr is not compatible with trapping. This required the
      creation of -fsanitize=undefined-trap, which excluded -fsanitize=vptr
      (and -fsanitize=function, but this seems like an oversight).
      
      Now, -fsanitize=undefined is an alias for -fsanitize=undefined-trap,
      and if -fsanitize-trap=undefined is specified, we treat -fsanitize=vptr
      as an "unsupported" flag, which means that we error out if the flag is
      specified explicitly, but implicitly disable it if the flag was implied
      by -fsanitize=undefined.
      
      Differential Revision: http://reviews.llvm.org/D10464
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@240105 91177308-0d34-0410-b5e6-96231b3b80d8
      e530af8e
  7. Jun 18, 2015
  8. Jun 16, 2015
  9. Jun 15, 2015
    • Peter Collingbourne's avatar
      Protection against stack-based memory corruption errors using SafeStack: Clang... · 4d2986d8
      Peter Collingbourne authored
      Protection against stack-based memory corruption errors using SafeStack: Clang command line option and function attribute
      
      This patch adds the -fsanitize=safe-stack command line argument for clang,
      which enables the Safe Stack protection (see http://reviews.llvm.org/D6094
      for the detailed description of the Safe Stack).
      
      This patch is our implementation of the safe stack on top of Clang. The
      patches make the following changes:
      
      - Add -fsanitize=safe-stack and -fno-sanitize=safe-stack options to clang
        to control safe stack usage (the safe stack is disabled by default).
      
      - Add __attribute__((no_sanitize("safe-stack"))) attribute to clang that can be
        used to disable the safe stack for individual functions even when enabled
        globally.
      
      Original patch by Volodymyr Kuznetsov and others at the Dependable Systems
      Lab at EPFL; updates and upstreaming by myself.
      
      Differential Revision: http://reviews.llvm.org/D6095
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@239762 91177308-0d34-0410-b5e6-96231b3b80d8
      4d2986d8
  10. Jun 13, 2015
  11. Jun 11, 2015
  12. Jun 03, 2015
  13. May 28, 2015
  14. May 26, 2015
  15. May 22, 2015
  16. May 15, 2015
  17. May 14, 2015
  18. May 13, 2015
  19. May 11, 2015
  20. May 08, 2015
  21. May 07, 2015
  22. May 06, 2015
  23. May 04, 2015
  24. Apr 29, 2015
    • Daniel Jasper's avatar
      clang-format: Add ability to align assignment operators. · aea0264e
      Daniel Jasper authored
      In Objective-C some style guides use a style where assignment operators are
      aligned, in an effort to increase code readability. This patch adds an option
      to the format library which allows this functionality. It is disabled by
      default for all the included styles, so it must be explicitly enabled.
      
      The option will change code such as:
        - (void)method {
            NSNumber *one = @1;
            NSNumber *twentyFive = @25;
        }
      
      to:
        - (void)method {
            NSNumber *one        = @1;
            NSNumber *twentyFive = @25;
        }
      
      Patch by Matt Oakes. Thank you!
      
      Accidentally reformatted all the tests...
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@236100 91177308-0d34-0410-b5e6-96231b3b80d8
      aea0264e
  25. Apr 27, 2015
Loading