[compiler-rt] r229556 - Remove support for building sanitizers from Makefile/autoconf build.

Kostya Serebryany kcc at google.com
Tue Feb 17 15:39:38 PST 2015


It's absolutely fine to keep the configure/make build for some more time,
but eventually we'll either have to a) kill it or b) fully support it. Our
team has enough cycles only for a).


On Tue, Feb 17, 2015 at 3:36 PM, Matthias Braun <mbraun at apple.com> wrote:

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


More information about the llvm-commits mailing list