[cfe-dev] more --sanitize= flags

Alexey Samsonov samsonov at google.com
Tue Nov 6 20:52:02 PST 2012

On Wed, Nov 7, 2012 at 1:12 AM, Kostya Serebryany <kcc at google.com> wrote:

> On Tue, Nov 6, 2012 at 1:08 PM, Evgeniy Stepanov <eugenis at google.com>wrote:
>> This whole -fsanitize= thing looks unorthodox and confusing to me. I
>> understand why me might want to merge all sanitizers under one switch, but
>> we don't need to put their suboptions there, too.
> In the suggested syntax, the suboptions that control the behavior of tools
> are not using -fsanitize= prefix.
> But if we enable an extra functionality in e.g. asan, it could be viewed
> as a separate checker that depends on asan, thus
> -fsanitize=address,use-after-return makes sense (IMHO).

I agree with that.

One more random thought - ASan supports blacklist file (-mllvm
-asan-blacklist). Do we want to pull this flag into Clang as well?
Can the family of undefined-behavior sanitizers make use of it? It looks
like I've forgotten the reason why this file is used
at LLVM level, not in Clang. IIUC in Clang we can just avoid emitting
address_safety attribute for functions/globals in the blacklist file.
It can be more convenient for per-function blacklisting (instead of
per-file) because we probably can pattern-match names that are not
yet mangled (can't we?)

> --kcc
>>  On Nov 6, 2012 11:58 PM, "Alexander Potapenko" <glider at google.com>
>> wrote:
>>> -fsanitize=address,use-after-return sounds more like two distinct
>>> sanitizers than a sanitizer and an option, although this is very similar to
>>> the -Wl case.
>>> On Nov 6, 2012 10:53 PM, "Kostya Serebryany" <kcc at google.com> wrote:
>>>> Hi,
>>>> We need more clang flags in two categories:
>>>>    - flags that modify the behavior of asan/tsan/msan
>>>>    - flags that enable additional features of asan/tsan/msan
>>>> As we just discussed with Richard Smith, the flags should probably look
>>>> like this:
>>>> modify the behavior:
>>>>    -f[no-]sanitize-address-zero-base-shadow # zero base for asan,
>>>> should check that -pie is present, linux-only
>>>>    -f[no-]sanitize-memory-track-origins  # msan track-origins (once
>>>> msan is in trunk, of course)
>>>> add additional features:
>>>>   -fsanitize=address,global-init-order,use-after-return,use-after-scope
>>>> # asan subphases, currently off by default.
>>>> Does that sound good? Anything else?
>>>> Thanks,
>>>> --kcc

Alexey Samsonov, MSK
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20121107/0ee020aa/attachment.html>

More information about the cfe-dev mailing list