61c3fbc220
- copy sanitizer runtime when using ubsan; - avoid use of winnt.h CONTAINING_RECORD since it triggers ubsan "member access within null-pointer of type" error, use our copy which uses `offsetof`; - have default virtual destructor in `ValueObject` to avoid ubsan complains about "insufficient space for an object of type 'dart:ValueObject'" at NoTemporaryAllocator use/declaration site; - have virtual destructor in ZoneAllocated to avoid ubsan complains about "not having enough space to allocate object" at new RegExpEmpty() instantiation site; - avoid using crashpad with ubsan as it causes dartvm to exit with error code 3; - switch to windows, mac-friendly `[[gnu::no_sanitize(check)]]` from `__GNUC__` and `__has_feature` checks. TEST=ci Bug: https://github.com/dart-lang/sdk/issues/62267 Change-Id: I8b922a8da329af276d4cefaa88fb841cc0457124 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/469840 Reviewed-by: Ryan Macnak <rmacnak@google.com> Commit-Queue: Alexander Aprelev <aam@google.com>