Update TSAN suppressions.

TSAN suppressions need to be on their own line, even free of comments.

Also, temporarily add SK_ANNOTATE_UNPROTECTED_READ to sk_acquire_load.
Will remove this when we're done iterating on SkBarriers_tsan.h: TSAN
has an atomic load that makes the annotation moot.

BUG=skia:
R=bungeman@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/308073013
diff --git a/src/ports/SkBarriers_x86.h b/src/ports/SkBarriers_x86.h
index fc57615..4fbc444 100644
--- a/src/ports/SkBarriers_x86.h
+++ b/src/ports/SkBarriers_x86.h
@@ -8,6 +8,8 @@
 #ifndef SkBarriers_x86_DEFINED
 #define SkBarriers_x86_DEFINED
 
+#include "SkDynamicAnnotations.h"
+
 #ifdef SK_BUILD_FOR_WIN
 #  include <intrin.h>
 static inline void sk_compiler_barrier() { _ReadWriteBarrier(); }
@@ -17,7 +19,7 @@
 
 template <typename T>
 T sk_acquire_load(T* ptr) {
-    T val = *ptr;
+    T val = SK_ANNOTATE_UNPROTECTED_READ(*ptr);
     // On x86, all loads are acquire loads, so we only need a compiler barrier.
     sk_compiler_barrier();
     return val;
diff --git a/tools/tsan.supp b/tools/tsan.supp
index d87f486..aab8211 100644
--- a/tools/tsan.supp
+++ b/tools/tsan.supp
@@ -1,12 +1,20 @@
 # Suppressions for Thread Sanitizer
+#
+# CAREFUL!  Comments must go on their own line or your suppressions will silently fail.
 
 # WebP races (harmlessly) choosing function pointers for SIMD versions of some of its functions.
 race:third_party/externals/libwebp
 
 # skia:2459  Seemingly misdiagnosed use-after-free, having something to do with software GL drivers.
-race:SkGLContextHelper::init  # We don't always get swrast_dri.so in the stack or we'd use that.
+# We don't always get swrast_dri.so in the stack or we'd use that.
+race:SkGLContextHelper::init
 
-# For now assume anything using SkOnce and calls on SkRefCntBase (ref, unref, unique) are safe.
-# TODO(mtklein): teach TSAN about SkOnce, SkRefCnt and SkSpinlock correctly.
-race:SkOnce
-race:SkRefCntBase
+# Threadsafe, should be ported to SkLazyPtr.
+race:SkFontHost_FreeType
+
+# Not threadsafe, should be fixed.
+race:SkFontHost_fontconfig_ref_global
+race:SkString::RefRec
+
+# Not threadsafe, should be deleted.
+race:SkPDF