Add Dr. Memory suppression file for pdfium tests

- add suppressions.txt in tools/drmemory/
- update pdfium_tests.py to read suppression file

R=thestig@chromium.org
BUG=pdfium:238

Review URL: https://codereview.chromium.org/1454193002 .
diff --git a/tools/drmemory/scripts/pdfium_tests.py b/tools/drmemory/scripts/pdfium_tests.py
index 6cc7d57..5486b16 100644
--- a/tools/drmemory/scripts/pdfium_tests.py
+++ b/tools/drmemory/scripts/pdfium_tests.py
@@ -97,14 +97,13 @@
     # tools/valgrind/TOOL/suppressions[_PLATFORM].txt
     # and list them with --suppressions= prefix.
     script_dir = path_utils.ScriptDir()
-    tool_name = tool.ToolName();
-    suppression_file = os.path.join(script_dir, tool_name, "suppressions.txt")
+    suppression_file = os.path.join(script_dir, "..", "suppressions.txt")
     if os.path.exists(suppression_file):
       cmd.append("--suppressions=%s" % suppression_file)
     # Platform-specific suppression
     for platform in common.PlatformNames():
       platform_suppression_file = \
-          os.path.join(script_dir, tool_name, 'suppressions_%s.txt' % platform)
+          os.path.join(script_dir, "..", 'suppressions_%s.txt' % platform)
       if os.path.exists(platform_suppression_file):
         cmd.append("--suppressions=%s" % platform_suppression_file)
 
@@ -121,22 +120,6 @@
       if not os.path.exists(exe_path):
         raise ExecutableNotFound("Couldn't find '%s'" % exe_path)
 
-      # Make sure we don't try to test ASan-built binaries
-      # with other dynamic instrumentation-based tools.
-      # TODO(timurrrr): also check TSan and MSan?
-      # `nm` might not be available, so use try-except.
-      try:
-        # Do not perform this check on OS X, as 'nm' on 10.6 can't handle
-        # binaries built with Clang 3.5+.
-        if not common.IsMac():
-          nm_output = subprocess.check_output(["nm", exe_path])
-          if nm_output.find("__asan_init") != -1:
-            raise BadBinary("You're trying to run an executable instrumented "
-                            "with AddressSanitizer under %s. Please provide "
-                            "an uninstrumented executable." % tool_name)
-      except OSError:
-        pass
-
       cmd.append(exe_path)
       # Valgrind runs tests slowly, so slow tests hurt more; show elapased time
       # so we can find the slowpokes.
diff --git a/tools/drmemory/suppressions.txt b/tools/drmemory/suppressions.txt
new file mode 100644
index 0000000..c6b8d82
--- /dev/null
+++ b/tools/drmemory/suppressions.txt
@@ -0,0 +1,27 @@
+# This file contains suppressions for the Dr.Memory tool, see
+# http://dev.chromium.org/developers/how-tos/using-drmemory
+
+
+# Intended alloc failure
+WARNING
+name=unittests:fxcrt.FX_AllocOverflow
+drmemorylib.dll!replace_calloc
+...
+*!fxcrt_FX_*AllocOverflow*_Test::TestBody
+
+# DrMem-i#471: simple floating register copy without meaningful usage
+UNINITIALIZED READ
+name=embeddertests:DrM-i#471
+*!v8::internal::RegisterValues::GetDoubleRegister
+*!v8::internal::FrameDescription::GetDoubleRegister
+*!v8::internal::Deoptimizer::CopyDoubleRegisters
+*!v8::internal::Deoptimizer::DoComputeCompiledStubFrame
+*!v8::internal::Deoptimizer::DoComputeOutputFrames
+*!v8::internal::Deoptimizer::ComputeOutputFrames
+*!v8::internal::`anonymous namespace'::Invoke
+*!v8::internal::Execution::Call
+*!v8::internal::Bootstrapper::CompileNative
+*!v8::internal::Bootstrapper::CompileExperimentalBuiltin
+*!v8::internal::Genesis::InstallExperimentalNatives
+*!v8::internal::Genesis::Genesis
+*!v8::internal::Bootstrapper::CreateEnvironment