On Thu, Jan 26, 2017 at 02:04:00PM +0100, Martin Liška wrote:
> +  The option is enabled with <code>-fsanitize=address</code> and disabled

s/enabled/& by default/
s/disabled/& by default/

> +  with <code>-fsanitize=kernel-address</code>.
> +  Compared to the LLVM compiler, where the option already exists,
> +  the implementation in the GCC compiler has couple of improvements and 
> advantages:
> +  <ul>
> +      <li>A complex usage of gotos and case labels are properly handled and 
> should not
> +          report any false positive or false negatives.
> +      </li>
> +      <li>Shadow memory poisoning (and unpoisoning) is optimized out in 
> common situations
> +          where the call is not needed.
> +      </li>
> +      <li>C++ temporaries are sanitized.</li>
> +      <li>Sanitization can handle invalid memory stores that are optimized 
> out
> +      by the LLVM compiler when using an optimization level.</li>

Have you verified it is true on the LLVM side (i.e. that they mishandle
gotos or case labels, that they don't optimize away memory
poisoning/unpoisoning in cases where gcc does, that they don't sanitize C++
temporaries and that for optimized out invalid memory stores they don't
sanitize them?

        Jakub

Reply via email to