Chromium Code Reviews| Index: tools/clang/scripts/update.sh |
| diff --git a/tools/clang/scripts/update.sh b/tools/clang/scripts/update.sh |
| index 6bb8cefff0ea21b950d8f36e955e5800924299fb..23984f6431ef8af20710ae48398bf283d71f7f5b 100755 |
| --- a/tools/clang/scripts/update.sh |
| +++ b/tools/clang/scripts/update.sh |
| @@ -8,7 +8,7 @@ |
| # 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=247874 |
| +CLANG_REVISION=254049 |
| # This is incremented when pushing a new build of Clang at the same revision. |
| CLANG_SUB_REVISION=1 |
| @@ -532,6 +532,10 @@ if [[ -n ${LLVM_FORCE_HEAD_REVISION:-''} ]]; then |
| CXXFLAGS="${CXXFLAGS} -DLLVM_FORCE_HEAD_REVISION" |
| fi |
| +# Pin MSan to the old ABI. |
| +# TODO: revert this when instrumented libraries can be rebuilt with the new ABI. |
|
Nico
2015/11/25 15:26:02
eugenis already filed a tracking bug for this that
hans
2015/11/25 17:55:13
Done.
|
| +CXXFLAGS="${CXXFLAGS} -DMSAN_LINUX_X86_64_OLD_MAPPING" |
| + |
| # Hook the Chromium tools into the LLVM build. Several Chromium tools have |
| # dependencies on LLVM/Clang libraries. The LLVM build detects implicit tools |
| # in the tools subdirectory, so install a shim CMakeLists.txt that forwards to |
| @@ -595,12 +599,34 @@ mkdir -p "${COMPILER_RT_BUILD_DIR}" |
| pushd "${COMPILER_RT_BUILD_DIR}" |
| rm -fv CMakeCache.txt |
| -MACOSX_DEPLOYMENT_TARGET=${deployment_target} CC="" CXX="" cmake -GNinja \ |
| +if [[ -z "${bootstrap}" ]]; then |
| + # compiler_rt doesn't build with Xcode 6's clang, but not all bots have |
| + # Xcode 7 yet. So use the just-built clang for building compiler-rt. |
| + # However, in bootstrap builds, we delete libc++ to work around PR24068 -- so |
| + # compiler_rt's CMake checks can't find <iostream> and decide that no arch |
| + # is supported. So use the installed bootstrap compiler in bootstrap builds, |
| + # it has the libc++ headers installed (CXX is already set to that in |
| + # bootstrap builds). |
| + CC="${ABS_LLVM_BUILD_DIR}/bin/clang" |
| + CXX="${ABS_LLVM_BUILD_DIR}/bin/clang++" |
| +elif [[ "${OS}" = "Darwin" ]]; then |
| + # ...except that compiler-rt currently doesn't build with the bootstrap |
| + # compiler on Darwin either! So use the system compiler there. |
| + # TOOD(thakis): Remove this once http://llvm.org/PR25465 is fixed. |
| + CC=cc |
| + CXX=c++ |
| +fi |
| + |
| +# Pin MSan to the old ABI. |
| +COMPILER_RT_CXXFLAGS="-DMSAN_LINUX_X86_64_OLD_MAPPING" |
| + |
| +MACOSX_DEPLOYMENT_TARGET=${deployment_target} cmake -GNinja \ |
| -DCMAKE_BUILD_TYPE=Release \ |
| -DLLVM_ENABLE_ASSERTIONS=ON \ |
| -DLLVM_ENABLE_THREADS=OFF \ |
| - -DCMAKE_C_COMPILER="${ABS_LLVM_BUILD_DIR}/bin/clang" \ |
| - -DCMAKE_CXX_COMPILER="${ABS_LLVM_BUILD_DIR}/bin/clang++" \ |
| + -DCMAKE_C_COMPILER="${CC}" \ |
| + -DCMAKE_CXX_COMPILER="${CXX}" \ |
| + -DCMAKE_CXX_FLAGS="${COMPILER_RT_CXXFLAGS}" \ |
| -DSANITIZER_MIN_OSX_VERSION="10.7" \ |
| -DLLVM_CONFIG_PATH="${ABS_LLVM_BUILD_DIR}/bin/llvm-config" \ |
| "${ABS_COMPILER_RT_DIR}" |