summaryrefslogtreecommitdiff
path: root/make
diff options
context:
space:
mode:
authorKuba Brecka <kuba.brecka@gmail.com>2015-03-25 21:07:20 +0000
committerKuba Brecka <kuba.brecka@gmail.com>2015-03-25 21:07:20 +0000
commited1b30aeb319a3693888c3dccf03b927eb40fc44 (patch)
treed373894e9be5d80ca21a5fe0d494f43936c06051 /make
parentea32fc08234d6ec5451d0d2d378e2e820acbfc70 (diff)
On OS X, explicitly use libc++
For OS X builds, both Make and CMake, let's be very explicit about using libc++ and libc++abi with: 1) -stdlib=libc++ in CFLAGS and LDFLAGS for all platforms 2) -lc++ in LDFLAGS for all platforms 3) switch from -undefined dynamic_lookup to -lc++abi for UBSan in Makefile-based builds Reviewed at http://reviews.llvm.org/D8617 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@233215 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'make')
-rw-r--r--make/platform/clang_darwin.mk18
1 files changed, 8 insertions, 10 deletions
diff --git a/make/platform/clang_darwin.mk b/make/platform/clang_darwin.mk
index a97db3bca..b0e88021e 100644
--- a/make/platform/clang_darwin.mk
+++ b/make/platform/clang_darwin.mk
@@ -178,29 +178,27 @@ CFLAGS.10.4 := $(CFLAGS) $(OSX_DEPLOYMENT_ARGS)
SANITIZER_MACOSX_DEPLOYMENT_ARGS := -mmacosx-version-min=10.7
SANITIZER_IOSSIM_DEPLOYMENT_ARGS := -mios-simulator-version-min=7.0 \
-isysroot $(IOSSIM_SDK)
-SANITIZER_CFLAGS := -fno-builtin -gline-tables-only
+SANITIZER_CFLAGS := -fno-builtin -gline-tables-only -stdlib=libc++
CFLAGS.asan_osx_dynamic := \
$(CFLAGS) $(SANITIZER_MACOSX_DEPLOYMENT_ARGS) \
$(SANITIZER_CFLAGS) \
- -stdlib=libc++ \
-DMAC_INTERPOSE_FUNCTIONS=1 \
-DASAN_DYNAMIC=1
CFLAGS.asan_iossim_dynamic := \
$(CFLAGS) $(SANITIZER_IOSSIM_DEPLOYMENT_ARGS) \
- $(SANITIZER_CFLAGS) \
+ $(SANITIZER_CFLAGS) \
-DMAC_INTERPOSE_FUNCTIONS=1 \
-DASAN_DYNAMIC=1
CFLAGS.ubsan_osx_dynamic := \
$(CFLAGS) $(SANITIZER_MACOSX_DEPLOYMENT_ARGS) \
- $(SANITIZER_CFLAGS) \
- -stdlib=libc++
+ $(SANITIZER_CFLAGS)
CFLAGS.ubsan_iossim_dynamic := \
$(CFLAGS) $(SANITIZER_IOSSIM_DEPLOYMENT_ARGS) \
- $(SANITIZER_CFLAGS)
+ $(SANITIZER_CFLAGS)
CFLAGS.ios.i386 := $(CFLAGS) $(IOSSIM_DEPLOYMENT_ARGS)
@@ -232,10 +230,10 @@ CFLAGS.profile_ios.armv7k := $(CFLAGS) $(IOS_DEPLOYMENT_ARGS)
CFLAGS.profile_ios.armv7s := $(CFLAGS) $(IOS_DEPLOYMENT_ARGS)
CFLAGS.profile_ios.arm64 := $(CFLAGS) $(IOS6_DEPLOYMENT_ARGS)
-SANITIZER_LDFLAGS := -undefined dynamic_lookup
+SANITIZER_LDFLAGS := -stdlib=libc++ -lc++
SHARED_LIBRARY.asan_osx_dynamic := 1
-LDFLAGS.asan_osx_dynamic := -lc++ $(SANITIZER_LDFLAGS) -install_name @rpath/libclang_rt.asan_osx_dynamic.dylib \
+LDFLAGS.asan_osx_dynamic := $(SANITIZER_LDFLAGS) -install_name @rpath/libclang_rt.asan_osx_dynamic.dylib \
$(SANITIZER_MACOSX_DEPLOYMENT_ARGS)
SHARED_LIBRARY.asan_iossim_dynamic := 1
@@ -243,11 +241,11 @@ LDFLAGS.asan_iossim_dynamic := $(SANITIZER_LDFLAGS) -install_name @rpath/libclan
-Wl,-ios_simulator_version_min,7.0.0 $(SANITIZER_IOSSIM_DEPLOYMENT_ARGS)
SHARED_LIBRARY.ubsan_osx_dynamic := 1
-LDFLAGS.ubsan_osx_dynamic := -lc++ $(SANITIZER_LDFLAGS) -install_name @rpath/libclang_rt.ubsan_osx_dynamic.dylib \
+LDFLAGS.ubsan_osx_dynamic := $(SANITIZER_LDFLAGS) -lc++abi -install_name @rpath/libclang_rt.ubsan_osx_dynamic.dylib \
$(SANITIZER_MACOSX_DEPLOYMENT_ARGS)
SHARED_LIBRARY.ubsan_iossim_dynamic := 1
-LDFLAGS.ubsan_iossim_dynamic := $(SANITIZER_LDFLAGS) -install_name @rpath/libclang_rt.ubsan_iossim_dynamic.dylib \
+LDFLAGS.ubsan_iossim_dynamic := $(SANITIZER_LDFLAGS) -lc++abi -install_name @rpath/libclang_rt.ubsan_iossim_dynamic.dylib \
-Wl,-ios_simulator_version_min,7.0.0 $(SANITIZER_IOSSIM_DEPLOYMENT_ARGS)
ifneq ($(OSX_SDK),)