skia2/tools/xsan.blacklist
Mike Klein 475c5e93fe turn on alignment sanitizer
This sanitizer checks for overaligned reads and writes,
or put another way, use of underaligned pointers.

This usually happens when you cast, e.g. char* to int*
without checking that the char* is 4-byte aligned.  Each
of the changes under src/ fixes something just like that.

The unusual setup for tools/xsan.blacklist is there to
force a rebuild whenever tools/xsan.blacklist changes.
I spent a good few minutes debugging rebuilds not happening
this morning, perhaps from some strange ccache interaction.

Align SkTextBlobs as void* (today they're just 4-byte) so the
SkTextBlob::RunRecords we put after them in SkTextBlobBuilder
buffers are properly aligned (for the SkTypeface* inside).

There's no obvious error in void SkRRect::computeType(),
but one bot seems to have seen some sort of issue with

    SK_AT_SCOPE_EXIT(SkASSERT(this->isValid()));

I can't reproduce it locally, so I'm just going to unroll it.

Change-Id: I904d94f65f695e1b626b684c32216a4930b72b0c
Reviewed-on: https://skia-review.googlesource.com/146104
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2018-08-09 21:13:15 +00:00

16 lines
569 B
Plaintext

#if 0
# This file must be a no-op C #include header, and a valid *SAN blacklist file.
# Luckily, anything starting with # is a comment to *SAN blacklist files,
# and anything inside #if 0 is ignored by C. Yippee!
#
# If you want to type '*', type '.*' instead. Don't make C comments!
# libpng and zlib both dereference under-aligned pointers.
# TODO: it'd be nice to tag these as [alignment] only but our Mac toolchain can't yet.
# [alignment]
src:.*third_party/externals/libpng/intel/filter_sse2_intrinsics.c
src:.*third_party/externals/zlib/deflate.c
#endif