diff options
author | Kuba Brecka <kuba.brecka@gmail.com> | 2015-03-25 21:07:20 +0000 |
---|---|---|
committer | Kuba Brecka <kuba.brecka@gmail.com> | 2015-03-25 21:07:20 +0000 |
commit | ed1b30aeb319a3693888c3dccf03b927eb40fc44 (patch) | |
tree | d373894e9be5d80ca21a5fe0d494f43936c06051 /make | |
parent | ea32fc08234d6ec5451d0d2d378e2e820acbfc70 (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.mk | 18 |
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),) |