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

Alexey Samsonov vonosmas at gmail.com
Tue Feb 17 15:38:14 PST 2015


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.
>

Sure, thanks!


>
> 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
>
>


-- 
Alexey Samsonov
vonosmas at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150217/0a04fdc6/attachment.html>


More information about the llvm-commits mailing list