forked from OSchip/llvm-project
[sanitizer] Add MSan to Makefile-based build rules.
llvm-svn: 175737
This commit is contained in:
parent
c975cdcc58
commit
57d6f737e6
|
@ -19,6 +19,7 @@ SubDirs += interception
|
||||||
SubDirs += profile
|
SubDirs += profile
|
||||||
SubDirs += sanitizer_common
|
SubDirs += sanitizer_common
|
||||||
SubDirs += tsan
|
SubDirs += tsan
|
||||||
|
SubDirs += msan
|
||||||
SubDirs += ubsan
|
SubDirs += ubsan
|
||||||
|
|
||||||
# FIXME: We don't currently support building an atomic library, and as it must
|
# FIXME: We don't currently support building an atomic library, and as it must
|
||||||
|
|
|
@ -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=%)
|
|
@ -60,11 +60,13 @@ endif
|
||||||
|
|
||||||
# Build runtime libraries for x86_64.
|
# Build runtime libraries for x86_64.
|
||||||
ifeq ($(call contains,$(SupportedArches),x86_64),true)
|
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.full-x86_64 := x86_64
|
||||||
Arch.profile-x86_64 := x86_64
|
Arch.profile-x86_64 := x86_64
|
||||||
Arch.asan-x86_64 := x86_64
|
Arch.asan-x86_64 := x86_64
|
||||||
Arch.tsan-x86_64 := x86_64
|
Arch.tsan-x86_64 := x86_64
|
||||||
|
Arch.msan-x86_64 := x86_64
|
||||||
Arch.ubsan-x86_64 := x86_64
|
Arch.ubsan-x86_64 := x86_64
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -89,6 +91,7 @@ CFLAGS.asan-i386 := $(CFLAGS) -m32 -fPIE -fno-builtin \
|
||||||
CFLAGS.asan-x86_64 := $(CFLAGS) -m64 -fPIE -fno-builtin \
|
CFLAGS.asan-x86_64 := $(CFLAGS) -m64 -fPIE -fno-builtin \
|
||||||
-DASAN_FLEXIBLE_MAPPING_AND_OFFSET=1
|
-DASAN_FLEXIBLE_MAPPING_AND_OFFSET=1
|
||||||
CFLAGS.tsan-x86_64 := $(CFLAGS) -m64 -fPIE -fno-builtin
|
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-i386 := $(CFLAGS) -m32 -fPIE -fno-builtin
|
||||||
CFLAGS.ubsan-x86_64 := $(CFLAGS) -m64 -fPIE -fno-builtin
|
CFLAGS.ubsan-x86_64 := $(CFLAGS) -m64 -fPIE -fno-builtin
|
||||||
|
|
||||||
|
@ -121,6 +124,8 @@ FUNCTIONS.asan-arm-android := $(AsanFunctions) $(InterceptionFunctions) \
|
||||||
$(SanitizerCommonFunctions)
|
$(SanitizerCommonFunctions)
|
||||||
FUNCTIONS.tsan-x86_64 := $(TsanFunctions) $(InterceptionFunctions) \
|
FUNCTIONS.tsan-x86_64 := $(TsanFunctions) $(InterceptionFunctions) \
|
||||||
$(SanitizerCommonFunctions)
|
$(SanitizerCommonFunctions)
|
||||||
|
FUNCTIONS.msan-x86_64 := $(MsanFunctions) $(InterceptionFunctions) \
|
||||||
|
$(SanitizerCommonFunctions)
|
||||||
FUNCTIONS.ubsan-i386 := $(UbsanFunctions) $(SanitizerCommonFunctions)
|
FUNCTIONS.ubsan-i386 := $(UbsanFunctions) $(SanitizerCommonFunctions)
|
||||||
FUNCTIONS.ubsan-x86_64 := $(UbsanFunctions) $(SanitizerCommonFunctions)
|
FUNCTIONS.ubsan-x86_64 := $(UbsanFunctions) $(SanitizerCommonFunctions)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue