<div dir="ltr">Let's continue the discussion in the llvmdev thread.</div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 17, 2015 at 3:13 PM, Anna Zaks <span dir="ltr"><<a href="mailto:ganna@apple.com" target="_blank">ganna@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Alexey,<br>
<br>
We do rely on makefile builds. I think ASan should be in sync with the rest of llvm with regards to which build systems are supported.<br>
<br>
Can this change be reverted?<br>
<br>
Thanks,<br>
Anna.<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
> On Feb 17, 2015, at 1:53 PM, Alexey Samsonov <<a href="mailto:vonosmas@gmail.com">vonosmas@gmail.com</a>> wrote:<br>
><br>
> Author: samsonov<br>
> Date: Tue Feb 17 15:53:45 2015<br>
> New Revision: 229556<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=229556&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=229556&view=rev</a><br>
> Log:<br>
> Remove support for building sanitizers from Makefile/autoconf build.<br>
><br>
> They autotools build has a number of missing features, supports less<br>
> OS, architectures, build configurations, doesn't have any tests and<br>
> is hard to support in sync with CMake build.<br>
><br>
> Removed:<br>
> compiler-rt/trunk/lib/asan/Makefile.mk<br>
> compiler-rt/trunk/lib/dfsan/Makefile.mk<br>
> compiler-rt/trunk/lib/interception/Makefile.mk<br>
> compiler-rt/trunk/lib/lsan/Makefile.mk<br>
> compiler-rt/trunk/lib/msan/Makefile.mk<br>
> compiler-rt/trunk/lib/sanitizer_common/Makefile.mk<br>
> compiler-rt/trunk/lib/tsan/Makefile.mk<br>
> compiler-rt/trunk/lib/tsan/rtl/Makefile.mk<br>
> compiler-rt/trunk/lib/ubsan/Makefile.mk<br>
> Modified:<br>
> compiler-rt/trunk/lib/Makefile.mk<br>
> compiler-rt/trunk/lib/asan/README.txt<br>
> compiler-rt/trunk/make/platform/<a href="http://clang_darwin.mk" target="_blank">clang_darwin.mk</a><br>
> compiler-rt/trunk/make/platform/<a href="http://clang_linux.mk" target="_blank">clang_linux.mk</a><br>
><br>
> Modified: compiler-rt/trunk/lib/Makefile.mk<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/Makefile.mk?rev=229556&r1=229555&r2=229556&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/Makefile.mk?rev=229556&r1=229555&r2=229556&view=diff</a><br>
> ==============================================================================<br>
> --- compiler-rt/trunk/lib/Makefile.mk (original)<br>
> +++ compiler-rt/trunk/lib/Makefile.mk Tue Feb 17 15:53:45 2015<br>
> @@ -10,13 +10,5 @@<br>
> SubDirs :=<br>
><br>
> # Add submodules.<br>
> -SubDirs += asan<br>
> SubDirs += builtins<br>
> -SubDirs += dfsan<br>
> -SubDirs += interception<br>
> -SubDirs += lsan<br>
> -SubDirs += msan<br>
> SubDirs += profile<br>
> -SubDirs += sanitizer_common<br>
> -SubDirs += tsan<br>
> -SubDirs += ubsan<br>
><br>
> Removed: compiler-rt/trunk/lib/asan/Makefile.mk<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/Makefile.mk?rev=229555&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/Makefile.mk?rev=229555&view=auto</a><br>
> ==============================================================================<br>
> --- compiler-rt/trunk/lib/asan/Makefile.mk (original)<br>
> +++ compiler-rt/trunk/lib/asan/Makefile.mk (removed)<br>
> @@ -1,29 +0,0 @@<br>
> -#===- lib/asan/Makefile.mk ---------------------------------*- Makefile -*--===#<br>
> -#<br>
> -# The LLVM Compiler Infrastructure<br>
> -#<br>
> -# This file is distributed under the University of Illinois Open Source<br>
> -# License. See LICENSE.TXT for details.<br>
> -#<br>
> -#===------------------------------------------------------------------------===#<br>
> -<br>
> -ModuleName := asan<br>
> -SubDirs :=<br>
> -<br>
> -CCSources := $(foreach file,$(wildcard $(Dir)/*.cc),$(notdir $(file)))<br>
> -CXXOnlySources := asan_new_delete.cc<br>
> -COnlySources := $(filter-out $(CXXOnlySources),$(CCSources))<br>
> -SSources := $(foreach file,$(wildcard $(Dir)/*.S),$(notdir $(file)))<br>
> -Sources := $(CCSources) $(SSources)<br>
> -ObjNames := $(CCSources:%.cc=%.o) $(SSources:%.S=%.o)<br>
> -<br>
> -Implementation := Generic<br>
> -<br>
> -# FIXME: use automatic dependencies?<br>
> -Dependencies := $(wildcard $(Dir)/*.h)<br>
> -Dependencies += $(wildcard $(Dir)/../interception/*.h)<br>
> -Dependencies += $(wildcard $(Dir)/../sanitizer_common/*.h)<br>
> -<br>
> -# Define a convenience variable for all the asan functions.<br>
> -AsanFunctions := $(COnlySources:%.cc=%) $(SSources:%.S=%)<br>
> -AsanCXXFunctions := $(CXXOnlySources:%.cc=%)<br>
><br>
> Modified: compiler-rt/trunk/lib/asan/README.txt<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/README.txt?rev=229556&r1=229555&r2=229556&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/README.txt?rev=229556&r1=229555&r2=229556&view=diff</a><br>
> ==============================================================================<br>
> --- compiler-rt/trunk/lib/asan/README.txt (original)<br>
> +++ compiler-rt/trunk/lib/asan/README.txt Tue Feb 17 15:53:45 2015<br>
> @@ -1,11 +1,9 @@<br>
> AddressSanitizer RT<br>
> ================================<br>
> -This directory contains sources of the AddressSanitizer (asan) runtime library.<br>
> -We are in the process of integrating AddressSanitizer with LLVM, stay tuned.<br>
> +This directory contains sources of the AddressSanitizer (ASan) runtime library.<br>
><br>
> Directory structure:<br>
> README.txt : This file.<br>
> -Makefile.mk : File for make-based build.<br>
> CMakeLists.txt : File for cmake-based build.<br>
> asan_*.{cc,h} : Sources of the asan runtime library.<br>
> scripts/* : Helper scripts.<br>
> @@ -13,14 +11,13 @@ tests/* : ASan unit tests.<br>
><br>
> Also ASan runtime needs the following libraries:<br>
> lib/interception/ : Machinery used to intercept function calls.<br>
> -lib/sanitizer_common/ : Code shared between ASan and TSan.<br>
> +lib/sanitizer_common/ : Code shared between various sanitizers.<br>
><br>
> -Currently ASan runtime can be built by both make and cmake build systems.<br>
> -(see compiler-rt/make and files Makefile.mk for make-based build and<br>
> -files CMakeLists.txt for cmake-based build).<br>
> +ASan runtime currently also embeds part of LeakSanitizer runtime for<br>
> +leak detection (lib/lsan/lsan_common.{cc,h}).<br>
><br>
> -ASan unit and output tests work only with cmake. You may run this<br>
> -command from the root of your cmake build tree:<br>
> +ASan runtime can only be built by CMake. You can run ASan tests<br>
> +from the root of your CMake build tree:<br>
><br>
> make check-asan<br>
><br>
><br>
> Removed: compiler-rt/trunk/lib/dfsan/Makefile.mk<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/dfsan/Makefile.mk?rev=229555&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/dfsan/Makefile.mk?rev=229555&view=auto</a><br>
> ==============================================================================<br>
> --- compiler-rt/trunk/lib/dfsan/Makefile.mk (original)<br>
> +++ compiler-rt/trunk/lib/dfsan/Makefile.mk (removed)<br>
> @@ -1,23 +0,0 @@<br>
> -#===- lib/dfsan/Makefile.mk --------------------------------*- Makefile -*--===#<br>
> -#<br>
> -# The LLVM Compiler Infrastructure<br>
> -#<br>
> -# This file is distributed under the University of Illinois Open Source<br>
> -# License. See LICENSE.TXT for details.<br>
> -#<br>
> -#===------------------------------------------------------------------------===#<br>
> -<br>
> -ModuleName := dfsan<br>
> -SubDirs :=<br>
> -<br>
> -Sources := $(foreach file,$(wildcard $(Dir)/*.cc),$(notdir $(file)))<br>
> -ObjNames := $(Sources:%.cc=%.o)<br>
> -<br>
> -Implementation := Generic<br>
> -<br>
> -# FIXME: use automatic dependencies?<br>
> -Dependencies := $(wildcard $(Dir)/*.h)<br>
> -Dependencies += $(wildcard $(Dir)/../sanitizer_common/*.h)<br>
> -<br>
> -# Define a convenience variable for all the dfsan functions.<br>
> -DfsanFunctions := $(Sources:%.cc=%)<br>
><br>
> Removed: compiler-rt/trunk/lib/interception/Makefile.mk<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/interception/Makefile.mk?rev=229555&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/interception/Makefile.mk?rev=229555&view=auto</a><br>
> ==============================================================================<br>
> --- compiler-rt/trunk/lib/interception/Makefile.mk (original)<br>
> +++ compiler-rt/trunk/lib/interception/Makefile.mk (removed)<br>
> @@ -1,23 +0,0 @@<br>
> -#===- lib/interception/Makefile.mk -------------------------*- Makefile -*--===#<br>
> -#<br>
> -# The LLVM Compiler Infrastructure<br>
> -#<br>
> -# This file is distributed under the University of Illinois Open Source<br>
> -# License. See LICENSE.TXT for details.<br>
> -#<br>
> -#===------------------------------------------------------------------------===#<br>
> -<br>
> -ModuleName := interception<br>
> -SubDirs :=<br>
> -<br>
> -Sources := $(foreach file,$(wildcard $(Dir)/*.cc),$(notdir $(file)))<br>
> -ObjNames := $(Sources:%.cc=%.o)<br>
> -<br>
> -Implementation := Generic<br>
> -<br>
> -# FIXME: use automatic dependencies?<br>
> -Dependencies := $(wildcard $(Dir)/*.h)<br>
> -Dependencies += $(wildcard $(Dir)/../sanitizer_common/*.h)<br>
> -<br>
> -# Define a convenience variable for all the interception functions.<br>
> -InterceptionFunctions := $(Sources:%.cc=%)<br>
><br>
> Removed: compiler-rt/trunk/lib/lsan/Makefile.mk<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/lsan/Makefile.mk?rev=229555&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/lsan/Makefile.mk?rev=229555&view=auto</a><br>
> ==============================================================================<br>
> --- compiler-rt/trunk/lib/lsan/Makefile.mk (original)<br>
> +++ compiler-rt/trunk/lib/lsan/Makefile.mk (removed)<br>
> @@ -1,28 +0,0 @@<br>
> -#===- lib/lsan/Makefile.mk ---------------------------------*- Makefile -*--===#<br>
> -#<br>
> -# The LLVM Compiler Infrastructure<br>
> -#<br>
> -# This file is distributed under the University of Illinois Open Source<br>
> -# License. See LICENSE.TXT for details.<br>
> -#<br>
> -#===------------------------------------------------------------------------===#<br>
> -<br>
> -ModuleName := lsan<br>
> -SubDirs :=<br>
> -<br>
> -Sources := $(foreach file,$(wildcard $(Dir)/*.cc),$(notdir $(file)))<br>
> -ObjNames := $(Sources:%.cc=%.o)<br>
> -<br>
> -Implementation := Generic<br>
> -<br>
> -# FIXME: use automatic dependencies?<br>
> -Dependencies := $(wildcard $(Dir)/*.h)<br>
> -Dependencies += $(wildcard $(Dir)/../interception/*.h)<br>
> -Dependencies += $(wildcard $(Dir)/../sanitizer_common/*.h)<br>
> -<br>
> -# Define a convenience variable for all the lsan functions.<br>
> -LsanFunctions := $(Sources:%.cc=%)<br>
> -<br>
> -# lsan functions used in another sanitizers.<br>
> -LsanCommonSources := $(foreach file,$(wildcard $(Dir)/lsan_common*.cc),$(notdir $(file)))<br>
> -LsanCommonFunctions := $(LsanCommonSources:%.cc=%)<br>
><br>
> Removed: compiler-rt/trunk/lib/msan/Makefile.mk<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/msan/Makefile.mk?rev=229555&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/msan/Makefile.mk?rev=229555&view=auto</a><br>
> ==============================================================================<br>
> --- compiler-rt/trunk/lib/msan/Makefile.mk (original)<br>
> +++ compiler-rt/trunk/lib/msan/Makefile.mk (removed)<br>
> @@ -1,24 +0,0 @@<br>
> -#===- lib/msan/Makefile.mk ---------------------------------*- Makefile -*--===#<br>
> -#<br>
> -# The LLVM Compiler Infrastructure<br>
> -#<br>
> -# This file is distributed under the University of Illinois Open Source<br>
> -# License. See LICENSE.TXT for details.<br>
> -#<br>
> -#===------------------------------------------------------------------------===#<br>
> -<br>
> -ModuleName := msan<br>
> -SubDirs :=<br>
> -<br>
> -Sources := $(foreach file,$(wildcard $(Dir)/*.cc),$(notdir $(file)))<br>
> -ObjNames := $(Sources:%.cc=%.o)<br>
> -<br>
> -Implementation := Generic<br>
> -<br>
> -# FIXME: use automatic dependencies?<br>
> -Dependencies := $(wildcard $(Dir)/*.h)<br>
> -Dependencies += $(wildcard $(Dir)/../interception/*.h)<br>
> -Dependencies += $(wildcard $(Dir)/../sanitizer_common/*.h)<br>
> -<br>
> -# Define a convenience variable for all the msan functions.<br>
> -MsanFunctions := $(Sources:%.cc=%)<br>
><br>
> Removed: compiler-rt/trunk/lib/sanitizer_common/Makefile.mk<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/Makefile.mk?rev=229555&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/Makefile.mk?rev=229555&view=auto</a><br>
> ==============================================================================<br>
> --- compiler-rt/trunk/lib/sanitizer_common/Makefile.mk (original)<br>
> +++ compiler-rt/trunk/lib/sanitizer_common/Makefile.mk (removed)<br>
> @@ -1,22 +0,0 @@<br>
> -#===- lib/sanitizer_common/Makefile.mk ---------------------*- Makefile -*--===#<br>
> -#<br>
> -# The LLVM Compiler Infrastructure<br>
> -#<br>
> -# This file is distributed under the University of Illinois Open Source<br>
> -# License. See LICENSE.TXT for details.<br>
> -#<br>
> -#===------------------------------------------------------------------------===#<br>
> -<br>
> -ModuleName := sanitizer_common<br>
> -SubDirs :=<br>
> -<br>
> -Sources := $(foreach file,$(wildcard $(Dir)/*.cc),$(notdir $(file)))<br>
> -ObjNames := $(Sources:%.cc=%.o)<br>
> -<br>
> -Implementation := Generic<br>
> -<br>
> -# FIXME: use automatic dependencies?<br>
> -Dependencies := $(wildcard $(Dir)/*.h)<br>
> -<br>
> -# Define a convenience variable for all the sanitizer_common functions.<br>
> -SanitizerCommonFunctions := $(Sources:%.cc=%)<br>
><br>
> Removed: compiler-rt/trunk/lib/tsan/Makefile.mk<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/Makefile.mk?rev=229555&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/Makefile.mk?rev=229555&view=auto</a><br>
> ==============================================================================<br>
> --- compiler-rt/trunk/lib/tsan/Makefile.mk (original)<br>
> +++ compiler-rt/trunk/lib/tsan/Makefile.mk (removed)<br>
> @@ -1,18 +0,0 @@<br>
> -#===- lib/tsan/Makefile.mk ---------------------------------*- Makefile -*--===#<br>
> -#<br>
> -# The LLVM Compiler Infrastructure<br>
> -#<br>
> -# This file is distributed under the University of Illinois Open Source<br>
> -# License. See LICENSE.TXT for details.<br>
> -#<br>
> -#===------------------------------------------------------------------------===#<br>
> -<br>
> -ModuleName := tsan<br>
> -SubDirs := rtl<br>
> -Sources :=<br>
> -ObjNames :=<br>
> -Dependencies :=<br>
> -<br>
> -Implementation := Generic<br>
> -<br>
> -TsanFunctions :=<br>
><br>
> Removed: compiler-rt/trunk/lib/tsan/rtl/Makefile.mk<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/rtl/Makefile.mk?rev=229555&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/rtl/Makefile.mk?rev=229555&view=auto</a><br>
> ==============================================================================<br>
> --- compiler-rt/trunk/lib/tsan/rtl/Makefile.mk (original)<br>
> +++ compiler-rt/trunk/lib/tsan/rtl/Makefile.mk (removed)<br>
> @@ -1,25 +0,0 @@<br>
> -#===- lib/tsan/rtl/Makefile.mk -----------------------------*- Makefile -*--===#<br>
> -#<br>
> -# The LLVM Compiler Infrastructure<br>
> -#<br>
> -# This file is distributed under the University of Illinois Open Source<br>
> -# License. See LICENSE.TXT for details.<br>
> -#<br>
> -#===------------------------------------------------------------------------===#<br>
> -<br>
> -ModuleName := tsan<br>
> -SubDirs :=<br>
> -<br>
> -Sources := $(foreach file,$(wildcard $(Dir)/*.cc),$(notdir $(file)))<br>
> -AsmSources := $(foreach file,$(wildcard $(Dir)/*.S),$(notdir $(file)))<br>
> -ObjNames := $(Sources:%.cc=%.o) $(AsmSources:%.S=%.o)<br>
> -<br>
> -Implementation := Generic<br>
> -<br>
> -# FIXME: use automatic dependencies?<br>
> -Dependencies := $(wildcard $(Dir)/*.h)<br>
> -Dependencies += $(wildcard $(Dir)/../../interception/*.h)<br>
> -Dependencies += $(wildcard $(Dir)/../../sanitizer_common/*.h)<br>
> -<br>
> -# Define a convenience variable for all the tsan functions.<br>
> -TsanFunctions += $(Sources:%.cc=%) $(AsmSources:%.S=%)<br>
><br>
> Removed: compiler-rt/trunk/lib/ubsan/Makefile.mk<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/ubsan/Makefile.mk?rev=229555&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/ubsan/Makefile.mk?rev=229555&view=auto</a><br>
> ==============================================================================<br>
> --- compiler-rt/trunk/lib/ubsan/Makefile.mk (original)<br>
> +++ compiler-rt/trunk/lib/ubsan/Makefile.mk (removed)<br>
> @@ -1,26 +0,0 @@<br>
> -#===- lib/ubsan/Makefile.mk ---------------------------------*- Makefile -*--===#<br>
> -#<br>
> -# The LLVM Compiler Infrastructure<br>
> -#<br>
> -# This file is distributed under the University of Illinois Open Source<br>
> -# License. See LICENSE.TXT for details.<br>
> -#<br>
> -#===------------------------------------------------------------------------===#<br>
> -<br>
> -ModuleName := ubsan<br>
> -SubDirs :=<br>
> -<br>
> -Sources := $(foreach file,$(wildcard $(Dir)/*.cc),$(notdir $(file)))<br>
> -CXXSources := ubsan_type_hash.cc ubsan_handlers_cxx.cc<br>
> -CSources := $(filter-out $(CXXSources),$(Sources))<br>
> -ObjNames := $(Sources:%.cc=%.o)<br>
> -<br>
> -Implementation := Generic<br>
> -<br>
> -# FIXME: use automatic dependencies?<br>
> -Dependencies := $(wildcard $(Dir)/*.h)<br>
> -Dependencies += $(wildcard $(Dir)/../sanitizer_common/*.h)<br>
> -<br>
> -# Define a convenience variable for all the ubsan functions.<br>
> -UbsanFunctions := $(CSources:%.cc=%)<br>
> -UbsanCXXFunctions := $(CXXSources:%.cc=%)<br>
><br>
> Modified: compiler-rt/trunk/make/platform/<a href="http://clang_darwin.mk" target="_blank">clang_darwin.mk</a><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/make/platform/clang_darwin.mk?rev=229556&r1=229555&r2=229556&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/make/platform/clang_darwin.mk?rev=229556&r1=229555&r2=229556&view=diff</a><br>
> ==============================================================================<br>
> --- compiler-rt/trunk/make/platform/<a href="http://clang_darwin.mk" target="_blank">clang_darwin.mk</a> (original)<br>
> +++ compiler-rt/trunk/make/platform/<a href="http://clang_darwin.mk" target="_blank">clang_darwin.mk</a> Tue Feb 17 15:53:45 2015<br>
> @@ -112,16 +112,6 @@ Configs += profile_ios<br>
> UniversalArchs.profile_ios := $(call CheckArches,i386 x86_64,profile_ios,$(IOSSIM_SDK))<br>
> UniversalArchs.profile_ios += $(call CheckArches,armv7 arm64,profile_ios,$(IOS_SDK))<br>
><br>
> -# Configurations which define the ASAN support functions.<br>
> -Configs += asan_osx_dynamic<br>
> -UniversalArchs.asan_osx_dynamic := $(call CheckArches,i386 x86_64 x86_64h,asan_osx_dynamic,$(OSX_SDK))<br>
> -<br>
> -Configs += asan_iossim_dynamic<br>
> -UniversalArchs.asan_iossim_dynamic := $(call CheckArches,i386 x86_64,asan_iossim_dynamic,$(IOSSIM_SDK))<br>
> -<br>
> -Configs += ubsan_osx<br>
> -UniversalArchs.ubsan_osx := $(call CheckArches,i386 x86_64 x86_64h,ubsan_osx,$(OSX_SDK))<br>
> -<br>
> # Darwin 10.6 has a bug in cctools that makes it unable to use ranlib on our ARM<br>
> # object files. If we are on that platform, strip out all ARM archs. We still<br>
> # build the libraries themselves so that Clang can find them where it expects<br>
> @@ -172,27 +162,6 @@ IOSSIM_DEPLOYMENT_ARGS += -isysroot $(IO<br>
> CFLAGS.eprintf := $(CFLAGS) $(OSX_DEPLOYMENT_ARGS)<br>
> CFLAGS.10.4 := $(CFLAGS) $(OSX_DEPLOYMENT_ARGS)<br>
><br>
> -CFLAGS.asan_osx_dynamic := \<br>
> - $(CFLAGS) -mmacosx-version-min=10.7 \<br>
> - -stdlib=libc++ \<br>
> - -isysroot $(OSX_SDK) \<br>
> - -fno-builtin \<br>
> - -gline-tables-only \<br>
> - -DMAC_INTERPOSE_FUNCTIONS=1 \<br>
> - -DASAN_DYNAMIC=1<br>
> -<br>
> -CFLAGS.asan_iossim_dynamic := \<br>
> - $(CFLAGS) -mios-simulator-version-min=7.0 \<br>
> - -isysroot $(IOSSIM_SDK) \<br>
> - -fno-builtin \<br>
> - -gline-tables-only \<br>
> - -DMAC_INTERPOSE_FUNCTIONS=1 \<br>
> - -DASAN_DYNAMIC=1<br>
> -<br>
> -CFLAGS.ubsan_osx := $(CFLAGS) -mmacosx-version-min=10.6 \<br>
> - -isysroot $(OSX_SDK) \<br>
> - -fno-builtin<br>
> -<br>
> CFLAGS.ios.i386 := $(CFLAGS) $(IOSSIM_DEPLOYMENT_ARGS)<br>
> CFLAGS.ios.x86_64 := $(CFLAGS) $(IOSSIM_DEPLOYMENT_ARGS)<br>
> CFLAGS.ios.armv7 := $(CFLAGS) $(IOS_DEPLOYMENT_ARGS)<br>
> @@ -222,20 +191,6 @@ CFLAGS.profile_ios.armv7k := $(CFLAGS) $<br>
> CFLAGS.profile_ios.armv7s := $(CFLAGS) $(IOS_DEPLOYMENT_ARGS)<br>
> CFLAGS.profile_ios.arm64 := $(CFLAGS) $(IOS6_DEPLOYMENT_ARGS)<br>
><br>
> -# Configure the asan_osx_dynamic library to be built shared.<br>
> -SHARED_LIBRARY.asan_osx_dynamic := 1<br>
> -LDFLAGS.asan_osx_dynamic := -lc++ -undefined dynamic_lookup -install_name @rpath/libclang_rt.asan_osx_dynamic.dylib \<br>
> - -mmacosx-version-min=10.7 \<br>
> - -isysroot $(OSX_SDK)<br>
> -<br>
> -# Configure the asan_iossim_dynamic library to be built shared.<br>
> -SHARED_LIBRARY.asan_iossim_dynamic := 1<br>
> -# configure+make uses Clang, so we're using isysroot instead of --sysroot<br>
> -# or -Wl,-syslibroot.<br>
> -LDFLAGS.asan_iossim_dynamic := -undefined dynamic_lookup -install_name @rpath/libclang_rt.asan_iossim_dynamic.dylib \<br>
> - -Wl,-ios_simulator_version_min,7.0.0 \<br>
> - -mios-simulator-version-min=7.0 -isysroot $(IOSSIM_SDK)<br>
> -<br>
> FUNCTIONS.eprintf := eprintf<br>
> FUNCTIONS.10.4 := eprintf floatundidf floatundisf floatundixf<br>
><br>
> @@ -253,19 +208,6 @@ FUNCTIONS.profile_osx := GCDAProfiling I<br>
> InstrProfilingRuntime<br>
> FUNCTIONS.profile_ios := $(FUNCTIONS.profile_osx)<br>
><br>
> -FUNCTIONS.asan_osx_dynamic := $(AsanFunctions) $(AsanCXXFunctions) \<br>
> - $(InterceptionFunctions) \<br>
> - $(SanitizerCommonFunctions) \<br>
> - $(AsanDynamicFunctions)<br>
> -<br>
> -FUNCTIONS.asan_iossim_dynamic := $(AsanFunctions) $(AsanCXXFunctions) \<br>
> - $(InterceptionFunctions) \<br>
> - $(SanitizerCommonFunctions) \<br>
> - $(AsanDynamicFunctions)<br>
> -<br>
> -FUNCTIONS.ubsan_osx := $(UbsanFunctions) $(UbsanCXXFunctions) \<br>
> - $(SanitizerCommonFunctions)<br>
> -<br>
> CCKEXT_PROFILE_FUNCTIONS := \<br>
> InstrProfiling \<br>
> InstrProfilingBuffer \<br>
><br>
> Modified: compiler-rt/trunk/make/platform/<a href="http://clang_linux.mk" target="_blank">clang_linux.mk</a><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/make/platform/clang_linux.mk?rev=229556&r1=229555&r2=229556&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/make/platform/clang_linux.mk?rev=229556&r1=229555&r2=229556&view=diff</a><br>
> ==============================================================================<br>
> --- compiler-rt/trunk/make/platform/<a href="http://clang_linux.mk" target="_blank">clang_linux.mk</a> (original)<br>
> +++ compiler-rt/trunk/make/platform/<a href="http://clang_linux.mk" target="_blank">clang_linux.mk</a> Tue Feb 17 15:53:45 2015<br>
> @@ -49,80 +49,34 @@ endif<br>
><br>
> # Build runtime libraries for i386.<br>
> ifeq ($(call contains,$(SupportedArches),i386),true)<br>
> -Configs += builtins-i386 profile-i386 san-i386 asan-i386 asan_cxx-i386 \<br>
> - ubsan-i386 ubsan_cxx-i386<br>
> +Configs += builtins-i386 profile-i386<br>
> Arch.builtins-i386 := i386<br>
> Arch.profile-i386 := i386<br>
> -Arch.san-i386 := i386<br>
> -Arch.asan-i386 := i386<br>
> -Arch.asan_cxx-i386 := i386<br>
> -Arch.ubsan-i386 := i386<br>
> -Arch.ubsan_cxx-i386 := i386<br>
> endif<br>
><br>
> # Build runtime libraries for x86_64.<br>
> ifeq ($(call contains,$(SupportedArches),x86_64),true)<br>
> -Configs += builtins-x86_64 profile-x86_64 san-x86_64 asan-x86_64 asan_cxx-x86_64 \<br>
> - tsan-x86_64 msan-x86_64 ubsan-x86_64 ubsan_cxx-x86_64 dfsan-x86_64 \<br>
> - lsan-x86_64<br>
> +Configs += builtins-x86_64 profile-x86_64<br>
> Arch.builtins-x86_64 := x86_64<br>
> Arch.profile-x86_64 := x86_64<br>
> -Arch.san-x86_64 := x86_64<br>
> -Arch.asan-x86_64 := x86_64<br>
> -Arch.asan_cxx-x86_64 := x86_64<br>
> -Arch.tsan-x86_64 := x86_64<br>
> -Arch.msan-x86_64 := x86_64<br>
> -Arch.ubsan-x86_64 := x86_64<br>
> -Arch.ubsan_cxx-x86_64 := x86_64<br>
> -Arch.dfsan-x86_64 := x86_64<br>
> -Arch.lsan-x86_64 := x86_64<br>
> endif<br>
><br>
> endif<br>
><br>
> -ifneq ($(LLVM_ANDROID_TOOLCHAIN_DIR),)<br>
> -Configs += asan-arm-android<br>
> -Arch.asan-arm-android := arm-android<br>
> -endif<br>
> -<br>
> endif<br>
><br>
> ###<br>
><br>
> CFLAGS := -Wall -Werror -O3 -fomit-frame-pointer<br>
> -SANITIZER_CFLAGS := -fPIE -fno-builtin -gline-tables-only<br>
><br>
> CFLAGS.builtins-i386 := $(CFLAGS) -m32<br>
> CFLAGS.builtins-x86_64 := $(CFLAGS) -m64<br>
> CFLAGS.profile-i386 := $(CFLAGS) -m32<br>
> CFLAGS.profile-x86_64 := $(CFLAGS) -m64<br>
> -CFLAGS.san-i386 := $(CFLAGS) -m32 $(SANITIZER_CFLAGS) -fno-rtti<br>
> -CFLAGS.san-x86_64 := $(CFLAGS) -m64 $(SANITIZER_CFLAGS) -fno-rtti<br>
> -CFLAGS.asan-i386 := $(CFLAGS) -m32 $(SANITIZER_CFLAGS) -fno-rtti<br>
> -CFLAGS.asan-x86_64 := $(CFLAGS) -m64 $(SANITIZER_CFLAGS) -fno-rtti<br>
> -CFLAGS.asan_cxx-i386 := $(CFLAGS) -m32 $(SANITIZER_CFLAGS) -fno-rtti<br>
> -CFLAGS.asan_cxx-x86_64 := $(CFLAGS) -m64 $(SANITIZER_CFLAGS) -fno-rtti<br>
> -CFLAGS.tsan-x86_64 := $(CFLAGS) -m64 $(SANITIZER_CFLAGS) -fno-rtti<br>
> -CFLAGS.msan-x86_64 := $(CFLAGS) -m64 $(SANITIZER_CFLAGS) -fno-rtti<br>
> -CFLAGS.ubsan-i386 := $(CFLAGS) -m32 $(SANITIZER_CFLAGS) -fno-rtti<br>
> -CFLAGS.ubsan-x86_64 := $(CFLAGS) -m64 $(SANITIZER_CFLAGS) -fno-rtti<br>
> -CFLAGS.ubsan_cxx-i386 := $(CFLAGS) -m32 $(SANITIZER_CFLAGS)<br>
> -CFLAGS.ubsan_cxx-x86_64 := $(CFLAGS) -m64 $(SANITIZER_CFLAGS)<br>
> -CFLAGS.dfsan-x86_64 := $(CFLAGS) -m64 $(SANITIZER_CFLAGS) -fno-rtti<br>
> -CFLAGS.lsan-x86_64 := $(CFLAGS) -m64 $(SANITIZER_CFLAGS) -fno-rtti<br>
> -<br>
> -SHARED_LIBRARY.asan-arm-android := 1<br>
> -ANDROID_COMMON_FLAGS := -target arm-linux-androideabi \<br>
> - --sysroot=$(LLVM_ANDROID_TOOLCHAIN_DIR)/sysroot \<br>
> - -B$(LLVM_ANDROID_TOOLCHAIN_DIR)<br>
> -CFLAGS.asan-arm-android := $(CFLAGS) $(SANITIZER_CFLAGS) \<br>
> - $(ANDROID_COMMON_FLAGS) -fno-rtti<br>
> -LDFLAGS.asan-arm-android := $(LDFLAGS) $(ANDROID_COMMON_FLAGS) -ldl -lm -llog \<br>
> - -lstdc++ -Wl,-soname=<a href="http://libclang_rt.asan-arm-android.so" target="_blank">libclang_rt.asan-arm-android.so</a> -Wl,-z,defs<br>
><br>
> # Use our stub SDK as the sysroot to support more portable building. For now we<br>
> # just do this for the core module, because the stub SDK doesn't have<br>
> -# enough support to build the sanitizers or profile runtimes.<br>
> +# enough support to build the profile runtime.<br>
> CFLAGS.builtins-i386 += --sysroot=$(ProjSrcRoot)/SDKs/linux<br>
> CFLAGS.builtins-x86_64 += --sysroot=$(ProjSrcRoot)/SDKs/linux<br>
><br>
> @@ -132,29 +86,6 @@ FUNCTIONS.profile-i386 := GCDAProfiling<br>
> InstrProfilingFile InstrProfilingPlatformOther \<br>
> InstrProfilingRuntime<br>
> FUNCTIONS.profile-x86_64 := $(FUNCTIONS.profile-i386)<br>
> -FUNCTIONS.san-i386 := $(SanitizerCommonFunctions)<br>
> -FUNCTIONS.san-x86_64 := $(SanitizerCommonFunctions)<br>
> -FUNCTIONS.asan-i386 := $(AsanFunctions) $(InterceptionFunctions) \<br>
> - $(SanitizerCommonFunctions)<br>
> -FUNCTIONS.asan-x86_64 := $(AsanFunctions) $(InterceptionFunctions) \<br>
> - $(SanitizerCommonFunctions) $(LsanCommonFunctions)<br>
> -FUNCTIONS.asan_cxx-i386 := $(AsanCXXFunctions)<br>
> -FUNCTIONS.asan_cxx-x86_64 := $(AsanCXXFunctions)<br>
> -FUNCTIONS.asan-arm-android := $(AsanFunctions) $(AsanCXXFunctions) \<br>
> - $(InterceptionFunctions) \<br>
> - $(SanitizerCommonFunctions)<br>
> -FUNCTIONS.tsan-x86_64 := $(TsanFunctions) $(InterceptionFunctions) \<br>
> - $(SanitizerCommonFunctions)<br>
> -FUNCTIONS.msan-x86_64 := $(MsanFunctions) $(InterceptionFunctions) \<br>
> - $(SanitizerCommonFunctions)<br>
> -FUNCTIONS.ubsan-i386 := $(UbsanFunctions)<br>
> -FUNCTIONS.ubsan-x86_64 := $(UbsanFunctions)<br>
> -FUNCTIONS.ubsan_cxx-i386 := $(UbsanCXXFunctions)<br>
> -FUNCTIONS.ubsan_cxx-x86_64 := $(UbsanCXXFunctions)<br>
> -FUNCTIONS.dfsan-x86_64 := $(DfsanFunctions) $(InterceptionFunctions) \<br>
> - $(SanitizerCommonFunctions)<br>
> -FUNCTIONS.lsan-x86_64 := $(LsanFunctions) $(InterceptionFunctions) \<br>
> - $(SanitizerCommonFunctions)<br>
><br>
> # Always use optimized variants.<br>
> OPTIMIZED := 1<br>
><br>
><br>
> _______________________________________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">Alexey Samsonov<br><a href="mailto:vonosmas@gmail.com" target="_blank">vonosmas@gmail.com</a></div></div>
</div>