aboutsummaryrefslogtreecommitdiff
path: root/tools_libyuv/ubsan
diff options
context:
space:
mode:
authorHenrik Kjellander <kjellander@chromium.org>2017-02-03 12:33:16 +0100
committerCommit Bot <commit-bot@chromium.org>2017-02-03 11:36:53 +0000
commitf49fde796febead2ab00511735595d3b94ca6de8 (patch)
treed631f580e38010c1078b1dc35cdc98bc9597d9f6 /tools_libyuv/ubsan
parent76e7f104ae69d9a4f7ed4ac74d6e2c4fd16b1594 (diff)
downloadlibyuv-f49fde796febead2ab00511735595d3b94ca6de8.tar.gz
Use DEPS for all dependencies + add PRESUBMIT.py
This changes libyuv to use the DEPS file for pulling down all dependencies (thus no Chromium checkout is needed any more). Add tools_libyuv directory to contain libyuv-specific tools (needed to avoid name collision with the now DEPSed tools/ directory of Chromium, which is needed by the toolchain). Add tools_libyuv/autoroller/roll_deps.py script to automatically roll all entries in the DEPS file (copied from WebRTC). third_party/ is now DEPSed as well, including the gtest configuration headers that used to live inside the libyuv repo. Add PRESUBMIT.py with a few simple checks + execution of PyLint and Python unit tests. For PyLint a pylintrc file was also added. Valgrind in tools_libyuv/valgrind was updated to make PRESUBMIT.py pass and remove old tsan suppressions (not used). Removed util/android/test_runner.py since it's no longer needed. Buildbot changes in https://chromium-review.googlesource.com/436464 are needed for the Memcheck bot to go green. BUG=libyuv:676 NOTRY=True Change-Id: Ib86fea2905a1656bba2933703ce5a59d29d8db6b Reviewed-on: https://chromium-review.googlesource.com/436264 Commit-Queue: Henrik Kjellander <kjellander@chromium.org> Reviewed-by: Frank Barchard <fbarchard@google.com>
Diffstat (limited to 'tools_libyuv/ubsan')
-rw-r--r--tools_libyuv/ubsan/OWNERS4
-rw-r--r--tools_libyuv/ubsan/blacklist.txt15
-rw-r--r--tools_libyuv/ubsan/vptr_blacklist.txt21
3 files changed, 40 insertions, 0 deletions
diff --git a/tools_libyuv/ubsan/OWNERS b/tools_libyuv/ubsan/OWNERS
new file mode 100644
index 00000000..b608519a
--- /dev/null
+++ b/tools_libyuv/ubsan/OWNERS
@@ -0,0 +1,4 @@
+pbos@webrtc.org
+kjellander@webrtc.org
+fbarchard@chromium.org
+
diff --git a/tools_libyuv/ubsan/blacklist.txt b/tools_libyuv/ubsan/blacklist.txt
new file mode 100644
index 00000000..8bcb2907
--- /dev/null
+++ b/tools_libyuv/ubsan/blacklist.txt
@@ -0,0 +1,15 @@
+#############################################################################
+# UBSan blacklist.
+# Please think twice before you add or remove these rules.
+
+# This is a stripped down copy of Chromium's blacklist.txt, to enable
+# adding WebRTC-specific blacklist entries.
+
+#############################################################################
+# YASM does some funny things that UBsan doesn't like.
+# https://crbug.com/489901
+src:*/third_party/yasm/*
+
+#############################################################################
+# Ignore system libraries.
+src:*/usr/*
diff --git a/tools_libyuv/ubsan/vptr_blacklist.txt b/tools_libyuv/ubsan/vptr_blacklist.txt
new file mode 100644
index 00000000..8ed070c0
--- /dev/null
+++ b/tools_libyuv/ubsan/vptr_blacklist.txt
@@ -0,0 +1,21 @@
+#############################################################################
+# UBSan vptr blacklist.
+# Function and type based blacklisting use a mangled name, and it is especially
+# tricky to represent C++ types. For now, any possible changes by name manglings
+# are simply represented as wildcard expressions of regexp, and thus it might be
+# over-blacklisted.
+#
+# Please think twice before you add or remove these rules.
+#
+# This is a stripped down copy of Chromium's vptr_blacklist.txt, to enable
+# adding libyuv-specific blacklist entries.
+
+#############################################################################
+# Using raw pointer values.
+#
+# A raw pointer value (16) is used to infer the field offset by
+# GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET.
+
+# Example:
+# src:*/third_party/protobuf/src/google/protobuf/compiler/plugin.pb.cc
+