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 | b47f4ef508f23b5403eeaaaa0a437cf1b4a32df3 (patch) | |
| tree | 5511905ab13b65924cafb2fe10a4dd679f6bdd30 /compiler-rt/make | |
| parent | c6d5cfe162243f4d0c7b200a9207d2fd6ea92157 (diff) | |
| download | bcm5719-llvm-b47f4ef508f23b5403eeaaaa0a437cf1b4a32df3.tar.gz bcm5719-llvm-b47f4ef508f23b5403eeaaaa0a437cf1b4a32df3.zip | |
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
llvm-svn: 233215
Diffstat (limited to 'compiler-rt/make')
| -rw-r--r-- | compiler-rt/make/platform/clang_darwin.mk | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/compiler-rt/make/platform/clang_darwin.mk b/compiler-rt/make/platform/clang_darwin.mk index a97db3bca0a..b0e88021ebc 100644 --- a/compiler-rt/make/platform/clang_darwin.mk +++ b/compiler-rt/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),) |

