Properly msan-instrumenting protobuf and our C++ tests - but gflags isn't instrumented yet.
diff --git a/INSTALL b/INSTALL
index e3c0570..d2f08ec 100644
--- a/INSTALL
+++ b/INSTALL
@@ -90,6 +90,11 @@
 
   # apt-get install autoconf libtool
 
+If you want to run the tests using one of the sanitized configurations, you
+will need clang and its instrumented libc++:
+
+  # apt-get install clang libc++-dev
+
 
 A word on OpenSSL
 -----------------
diff --git a/Makefile b/Makefile
index fe0f703..c7f7e93 100644
--- a/Makefile
+++ b/Makefile
@@ -66,13 +66,13 @@
 VALID_CONFIG_msan = 1
 REQUIRE_CUSTOM_LIBRARIES_msan = 1
 CC_msan = clang
-CXX_msan = clang++
+CXX_msan = clang++-libc++
 LD_msan = clang
-LDXX_msan = clang++
-CPPFLAGS_msan = -O1 -fsanitize=memory -fno-omit-frame-pointer
+LDXX_msan = clang++-libc++
+CPPFLAGS_msan = -O1 -fsanitize=memory -fno-omit-frame-pointer -DGTEST_HAS_TR1_TUPLE=0 -DGTEST_USE_OWN_TR1_TUPLE=1
 OPENSSL_CFLAGS_msan = -DPURIFY
 OPENSSL_CONFIG_msan = no-asm
-LDFLAGS_msan = -fsanitize=memory
+LDFLAGS_msan = -fsanitize=memory -DGTEST_HAS_TR1_TUPLE=0 -DGTEST_USE_OWN_TR1_TUPLE=1
 DEFINES_msan = NDEBUG
 
 VALID_CONFIG_ubsan = 1
diff --git a/templates/Makefile.template b/templates/Makefile.template
index b9ae217..992b906 100644
--- a/templates/Makefile.template
+++ b/templates/Makefile.template
@@ -83,13 +83,13 @@
 VALID_CONFIG_msan = 1
 REQUIRE_CUSTOM_LIBRARIES_msan = 1
 CC_msan = clang
-CXX_msan = clang++
+CXX_msan = clang++-libc++
 LD_msan = clang
-LDXX_msan = clang++
-CPPFLAGS_msan = -O1 -fsanitize=memory -fno-omit-frame-pointer
+LDXX_msan = clang++-libc++
+CPPFLAGS_msan = -O1 -fsanitize=memory -fno-omit-frame-pointer -DGTEST_HAS_TR1_TUPLE=0 -DGTEST_USE_OWN_TR1_TUPLE=1
 OPENSSL_CFLAGS_msan = -DPURIFY
 OPENSSL_CONFIG_msan = no-asm
-LDFLAGS_msan = -fsanitize=memory
+LDFLAGS_msan = -fsanitize=memory -DGTEST_HAS_TR1_TUPLE=0 -DGTEST_USE_OWN_TR1_TUPLE=1
 DEFINES_msan = NDEBUG
 
 VALID_CONFIG_ubsan = 1