[PATCH] D86694: [scudo] Allow -fsanitize=scudo on Linux and Windows (WIP, don't land as is)

Russell Gallop via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 11 09:20:48 PDT 2020


russell.gallop added a comment.

In D86694#2242559 <https://reviews.llvm.org/D86694#2242559>, @cryptoad wrote:

> In D86694#2242150 <https://reviews.llvm.org/D86694#2242150>, @russell.gallop wrote:
>
>> In D86694#2242140 <https://reviews.llvm.org/D86694#2242140>, @cryptoad wrote:
>>
>>> That's awesome! Is it meant to eventually be committed or only be used for comparison purposes?
>>
>> I'd like it to be committed, but can't claim I know the code from https://reviews.llvm.org/D42519 well enough. The good news is that I can build LLVM on Windows with this. Is there a good sanity check that it is actually using Scudo rather than silently using the standard alloc?
>
> Nothing except the tests. Compiling a sizeable application with Scudo as well.

Compiling clang and lld with Scudo and ThinLTO linking clang seems to work.

> The other point that is worth mentioning is that we moved all dev efforts to the "standalone" version of Scudo (eg: the one not depending on sanitizer_common in the standalone/ subdirectory).
> There is enough differences that there could be some significant performance/mem footprint changes between the 2.

Thanks. I'm looking at porting the standalone variant, drawing on D42519 <https://reviews.llvm.org/D42519> and Windows support from sanitizer_common. Does that sound like a reasonable approach?

> Also depending on what you want to compare, disabling the Quarantine and other optional security features will make things faster and use less memory.

Would these be good flags to use:

  set SCUDO_OPTIONS=allocator_release_to_os_interval_ms=-1:QuarantineSizeKb=0:ThreadLocalQuarantineSizeKb=0:DeleteSizeMismatch=0:DeallocationTypeMismatch=0


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D86694/new/

https://reviews.llvm.org/D86694



More information about the llvm-commits mailing list