674a42d292
Inform ASAN and MSAN about reads and writes through FFI pointers or external typed data. Previously we only informed MSAN about writes, which was enough to prevent false positives in foreign code, but gave false negatives for Dart code. This mostly uses the same machinery used for TSAN, and replaces some of the existing MSAN unpoison calls. Also fixes some marshalling of compounds by value that generate loads extending past the end of the compound. TEST=ci Bug: https://github.com/dart-lang/sdk/issues/62221 Change-Id: Ia3573edb5a0aec32b6a57035a63e8f323a655ecc Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/467401 Reviewed-by: Daco Harkes <dacoharkes@google.com> Commit-Queue: Ryan Macnak <rmacnak@google.com>