Make bmalloc work with ASan
authorggaren@apple.com <ggaren@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 9 Jan 2015 00:41:58 +0000 (00:41 +0000)
committerggaren@apple.com <ggaren@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 9 Jan 2015 00:41:58 +0000 (00:41 +0000)
commit15ff27d70cdf2254787cb520b3d603b1b753da77
tree7a95486366cba5806bbd1fff65ed0f75ea1179cb
parent0cfe6be8949565fb0d7d438b54b821ed4df7ddd0
Make bmalloc work with ASan
https://bugs.webkit.org/show_bug.cgi?id=140194

Reviewed by Mark Lam.

* bmalloc/BPlatform.h: Added a way to detect Darwin OSes, since we need
an OS-specific API to test for loaded runtime libraries.

* bmalloc/Environment.cpp:
(bmalloc::isASanEnabled):
(bmalloc::Environment::computeIsBmallocEnabled): Disabled bmalloc if
ASan is enabled, since system malloc has the Asan hooks we need.

You could check for the ASan compile-time flag instead, but doing this
check at runtime prepares bmalloc for a world where it is a dynamic
library that might be loaded into projects it did not compile with.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178144 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/bmalloc/ChangeLog
Source/bmalloc/bmalloc/BPlatform.h
Source/bmalloc/bmalloc/Environment.cpp