summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--compiler-rt/lib/Makefile.mk1
-rw-r--r--compiler-rt/lib/msan/Makefile.mk24
-rw-r--r--compiler-rt/make/platform/clang_linux.mk7
3 files changed, 31 insertions, 1 deletions
diff --git a/compiler-rt/lib/Makefile.mk b/compiler-rt/lib/Makefile.mk
index ea471e01b1e..3068485c010 100644
--- a/compiler-rt/lib/Makefile.mk
+++ b/compiler-rt/lib/Makefile.mk
@@ -19,6 +19,7 @@ SubDirs += interception
SubDirs += profile
SubDirs += sanitizer_common
SubDirs += tsan
+SubDirs += msan
SubDirs += ubsan
# FIXME: We don't currently support building an atomic library, and as it must
diff --git a/compiler-rt/lib/msan/Makefile.mk b/compiler-rt/lib/msan/Makefile.mk
new file mode 100644
index 00000000000..99e3b036ea1
--- /dev/null
+++ b/compiler-rt/lib/msan/Makefile.mk
@@ -0,0 +1,24 @@
+#===- lib/msan/Makefile.mk ---------------------------------*- Makefile -*--===#
+#
+# The LLVM Compiler Infrastructure
+#
+# This file is distributed under the University of Illinois Open Source
+# License. See LICENSE.TXT for details.
+#
+#===------------------------------------------------------------------------===#
+
+ModuleName := msan
+SubDirs :=
+
+Sources := $(foreach file,$(wildcard $(Dir)/*.cc),$(notdir $(file)))
+ObjNames := $(Sources:%.cc=%.o)
+
+Implementation := Generic
+
+# FIXME: use automatic dependencies?
+Dependencies := $(wildcard $(Dir)/*.h)
+Dependencies += $(wildcard $(Dir)/../interception/*.h)
+Dependencies += $(wildcard $(Dir)/../sanitizer_common/*.h)
+
+# Define a convenience variable for all the msan functions.
+MsanFunctions := $(Sources:%.cc=%)
diff --git a/compiler-rt/make/platform/clang_linux.mk b/compiler-rt/make/platform/clang_linux.mk
index ce763ad96a3..89f7268b129 100644
--- a/compiler-rt/make/platform/clang_linux.mk
+++ b/compiler-rt/make/platform/clang_linux.mk
@@ -60,11 +60,13 @@ endif
# Build runtime libraries for x86_64.
ifeq ($(call contains,$(SupportedArches),x86_64),true)
-Configs += full-x86_64 profile-x86_64 asan-x86_64 tsan-x86_64 ubsan-x86_64
+Configs += full-x86_64 profile-x86_64 asan-x86_64 tsan-x86_64 msan-x86_64 \
+ ubsan-x86_64
Arch.full-x86_64 := x86_64
Arch.profile-x86_64 := x86_64
Arch.asan-x86_64 := x86_64
Arch.tsan-x86_64 := x86_64
+Arch.msan-x86_64 := x86_64
Arch.ubsan-x86_64 := x86_64
endif
@@ -89,6 +91,7 @@ CFLAGS.asan-i386 := $(CFLAGS) -m32 -fPIE -fno-builtin \
CFLAGS.asan-x86_64 := $(CFLAGS) -m64 -fPIE -fno-builtin \
-DASAN_FLEXIBLE_MAPPING_AND_OFFSET=1
CFLAGS.tsan-x86_64 := $(CFLAGS) -m64 -fPIE -fno-builtin
+CFLAGS.msan-x86_64 := $(CFLAGS) -m64 -fPIE -fno-builtin
CFLAGS.ubsan-i386 := $(CFLAGS) -m32 -fPIE -fno-builtin
CFLAGS.ubsan-x86_64 := $(CFLAGS) -m64 -fPIE -fno-builtin
@@ -121,6 +124,8 @@ FUNCTIONS.asan-arm-android := $(AsanFunctions) $(InterceptionFunctions) \
$(SanitizerCommonFunctions)
FUNCTIONS.tsan-x86_64 := $(TsanFunctions) $(InterceptionFunctions) \
$(SanitizerCommonFunctions)
+FUNCTIONS.msan-x86_64 := $(MsanFunctions) $(InterceptionFunctions) \
+ $(SanitizerCommonFunctions)
FUNCTIONS.ubsan-i386 := $(UbsanFunctions) $(SanitizerCommonFunctions)
FUNCTIONS.ubsan-x86_64 := $(UbsanFunctions) $(SanitizerCommonFunctions)
OpenPOWER on IntegriCloud