WTF / bmalloc: don't write to 0xbbadbeef when ASAN is looking
authorjfbastien@apple.com <jfbastien@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 30 Nov 2017 07:53:21 +0000 (07:53 +0000)
committerjfbastien@apple.com <jfbastien@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 30 Nov 2017 07:53:21 +0000 (07:53 +0000)
commit6bddd3e10ee4954b89311a704b70c51503e0acdc
tree45f3837089e3b04b78440bfd2debb186f230dc67
parent57706c2d5b41e87fc2cd4ae7b6b05b5b71609642
WTF / bmalloc: don't write to 0xbbadbeef when ASAN is looking
https://bugs.webkit.org/show_bug.cgi?id=180175

Reviewed by Mark Lam.

ASAN knows that 0xbbadbeef is a bbad aaddress, and tells us so
when we write to it, say in an assert. That creates bbad error
reports where ASAN thinks we write to an invalid address, instead
of thinking that we hit an assertion. In some cases, tooling that
use fuzzers aggregate similar issues, and think that we just have
the one bug and not a bunch of different asserts.

Source/bmalloc:

At the same time, bmalloc's version of CRASH just writes to
0xbbadbeef and assumes that's invalid and will crash, which isn't
necessarily true on non-Mac platforms. WTF's version then makes
sure there's a crash, so bmalloc should do the same.

* bmalloc.xcodeproj/project.pbxproj:
* bmalloc/BAssert.h:
* bmalloc/BCompiler.h: Added.
* bmalloc/BPlatform.h:

Source/WTF:

* wtf/Assertions.cpp:
* wtf/Assertions.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@225320 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WTF/ChangeLog
Source/WTF/wtf/Assertions.cpp
Source/WTF/wtf/Assertions.h
Source/bmalloc/ChangeLog
Source/bmalloc/bmalloc.xcodeproj/project.pbxproj
Source/bmalloc/bmalloc/BAssert.h
Source/bmalloc/bmalloc/BCompiler.h [new file with mode: 0644]
Source/bmalloc/bmalloc/BPlatform.h