| Index: tools/clang/scripts/update.sh
|
| diff --git a/tools/clang/scripts/update.sh b/tools/clang/scripts/update.sh
|
| index 65b296f447cc7706048e46c3cc6bd1a848e12290..0cf6212650c44671dce97ca2fd5ba72e0bf8be55 100755
|
| --- a/tools/clang/scripts/update.sh
|
| +++ b/tools/clang/scripts/update.sh
|
| @@ -8,10 +8,10 @@
|
| # Do NOT CHANGE this if you don't know what you're doing -- see
|
| # https://code.google.com/p/chromium/wiki/UpdatingClang
|
| # Reverting problematic clang rolls is safe, though.
|
| -CLANG_REVISION=239765
|
| +CLANG_REVISION=241602
|
|
|
| # This is incremented when pushing a new build of Clang at the same revision.
|
| -CLANG_SUB_REVISION=1
|
| +CLANG_SUB_REVISION=2
|
|
|
| PACKAGE_VERSION="${CLANG_REVISION}-${CLANG_SUB_REVISION}"
|
|
|
| @@ -317,6 +317,7 @@ for i in \
|
| "${COMPILER_RT_DIR}/test/tsan/signal_segv_handler.cc" \
|
| "${COMPILER_RT_DIR}/lib/sanitizer_common/sanitizer_coverage_libcdep.cc" \
|
| "${COMPILER_RT_DIR}/cmake/config-ix.cmake" \
|
| + "${COMPILER_RT_DIR}/CMakeLists.txt" \
|
| "${COMPILER_RT_DIR}/lib/ubsan/ubsan_platform.h" \
|
| ; do
|
| if [[ -e "${i}" ]]; then
|
| @@ -418,30 +419,18 @@ EOF
|
| # on Mac OS X 10.8 (PR23539).
|
| pushd "${COMPILER_RT_DIR}"
|
| cat << 'EOF' |
|
| ---- cmake/config-ix.cmake
|
| -+++ cmake/config-ix.cmake
|
| -@@ -319,7 +319,7 @@ else()
|
| - endif()
|
| -
|
| - if (COMPILER_RT_HAS_SANITIZER_COMMON AND UBSAN_SUPPORTED_ARCH AND
|
| -- OS_NAME MATCHES "Darwin|Linux|FreeBSD")
|
| -+ OS_NAME MATCHES "Linux|FreeBSD")
|
| - set(COMPILER_RT_HAS_UBSAN TRUE)
|
| - else()
|
| - set(COMPILER_RT_HAS_UBSAN FALSE)
|
| -diff --git a/lib/ubsan/ubsan_platform.h b/lib/ubsan/ubsan_platform.h
|
| -index 8ba253b..d5dce8d 100644
|
| ---- lib/ubsan/ubsan_platform.h
|
| -+++ lib/ubsan/ubsan_platform.h
|
| -@@ -14,7 +14,7 @@
|
| - #define UBSAN_PLATFORM_H
|
| -
|
| - // Other platforms should be easy to add, and probably work as-is.
|
| --#if (defined(__linux__) || defined(__FreeBSD__) || defined(__APPLE__)) && \
|
| -+#if (defined(__linux__) || defined(__FreeBSD__)) && \
|
| - (defined(__x86_64__) || defined(__i386__) || defined(__arm__) || \
|
| - defined(__aarch64__) || defined(__mips__) || defined(__powerpc64__))
|
| - # define CAN_SANITIZE_UB 1
|
| +Index: CMakeLists.txt
|
| +===================================================================
|
| +--- CMakeLists.txt (revision 241602)
|
| ++++ CMakeLists.txt (working copy)
|
| +@@ -305,6 +305,7 @@
|
| + list(APPEND SANITIZER_COMMON_SUPPORTED_OS iossim)
|
| + endif()
|
| + endif()
|
| ++ set(SANITIZER_MIN_OSX_VERSION "10.7")
|
| + if(SANITIZER_MIN_OSX_VERSION VERSION_LESS "10.7")
|
| + message(FATAL_ERROR "Too old OS X version: ${SANITIZER_MIN_OSX_VERSION}")
|
| + endif()
|
| EOF
|
| patch -p0
|
| popd
|
| @@ -567,6 +556,16 @@ if [ "${OS}" = "Darwin" ]; then
|
| ln -sf libc++.1.dylib libc++.dylib
|
| popd
|
| LDFLAGS+="-stdlib=libc++ -L${PWD}/libcxxbuild"
|
| +
|
| + if [[ -n "${bootstrap}" ]]; then
|
| + # Now that the libc++ headers have been installed and libc++.dylib is built,
|
| + # delete the libc++ checkout again so that it's not part of the main
|
| + # build below -- the libc++(abi) tests don't pass on OS X in bootstrap
|
| + # builds (http://llvm.org/PR24068)
|
| + rm -rf "${ABS_LIBCXX_DIR}"
|
| + rm -rf "${ABS_LIBCXXABI_DIR}"
|
| + CXXFLAGS="-stdlib=libc++ -nostdinc++ -I${ABS_INSTALL_DIR}/include/c++/v1 ${CFLAGS}"
|
| + fi
|
| fi
|
|
|
| # Find the binutils include dir for the gold plugin.
|
|
|