Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6)

Side by Side Diff: tools/clang/scripts/update.sh

Issue 1229653005: roll clang 239765:241602 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: gnbleh Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tools/clang/scripts/update.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env bash 1 #!/usr/bin/env bash
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 # This script will check out llvm and clang into third_party/llvm and build it. 6 # This script will check out llvm and clang into third_party/llvm and build it.
7 7
8 # Do NOT CHANGE this if you don't know what you're doing -- see 8 # Do NOT CHANGE this if you don't know what you're doing -- see
9 # https://code.google.com/p/chromium/wiki/UpdatingClang 9 # https://code.google.com/p/chromium/wiki/UpdatingClang
10 # Reverting problematic clang rolls is safe, though. 10 # Reverting problematic clang rolls is safe, though.
11 CLANG_REVISION=239765 11 CLANG_REVISION=241602
12 12
13 # This is incremented when pushing a new build of Clang at the same revision. 13 # This is incremented when pushing a new build of Clang at the same revision.
14 CLANG_SUB_REVISION=1 14 CLANG_SUB_REVISION=2
15 15
16 PACKAGE_VERSION="${CLANG_REVISION}-${CLANG_SUB_REVISION}" 16 PACKAGE_VERSION="${CLANG_REVISION}-${CLANG_SUB_REVISION}"
17 17
18 THIS_DIR="$(dirname "${0}")" 18 THIS_DIR="$(dirname "${0}")"
19 LLVM_DIR="${THIS_DIR}/../../../third_party/llvm" 19 LLVM_DIR="${THIS_DIR}/../../../third_party/llvm"
20 LLVM_BUILD_DIR="${LLVM_DIR}/../llvm-build/Release+Asserts" 20 LLVM_BUILD_DIR="${LLVM_DIR}/../llvm-build/Release+Asserts"
21 COMPILER_RT_BUILD_DIR="${LLVM_DIR}/../llvm-build/compiler-rt" 21 COMPILER_RT_BUILD_DIR="${LLVM_DIR}/../llvm-build/compiler-rt"
22 LLVM_BOOTSTRAP_DIR="${LLVM_DIR}/../llvm-bootstrap" 22 LLVM_BOOTSTRAP_DIR="${LLVM_DIR}/../llvm-bootstrap"
23 LLVM_BOOTSTRAP_INSTALL_DIR="${LLVM_DIR}/../llvm-bootstrap-install" 23 LLVM_BOOTSTRAP_INSTALL_DIR="${LLVM_DIR}/../llvm-bootstrap-install"
24 CLANG_DIR="${LLVM_DIR}/tools/clang" 24 CLANG_DIR="${LLVM_DIR}/tools/clang"
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 "${CLANG_DIR}/lib/Parse/ParseExpr.cpp" \ 310 "${CLANG_DIR}/lib/Parse/ParseExpr.cpp" \
311 "${CLANG_DIR}/lib/Parse/ParseTemplate.cpp" \ 311 "${CLANG_DIR}/lib/Parse/ParseTemplate.cpp" \
312 "${CLANG_DIR}/lib/Sema/SemaDeclCXX.cpp" \ 312 "${CLANG_DIR}/lib/Sema/SemaDeclCXX.cpp" \
313 "${CLANG_DIR}/lib/Sema/SemaExprCXX.cpp" \ 313 "${CLANG_DIR}/lib/Sema/SemaExprCXX.cpp" \
314 "${CLANG_DIR}/test/SemaCXX/default2.cpp" \ 314 "${CLANG_DIR}/test/SemaCXX/default2.cpp" \
315 "${CLANG_DIR}/test/SemaCXX/typo-correction-delayed.cpp" \ 315 "${CLANG_DIR}/test/SemaCXX/typo-correction-delayed.cpp" \
316 "${COMPILER_RT_DIR}/lib/sanitizer_common/sanitizer_stoptheworld_linux_libc dep.cc" \ 316 "${COMPILER_RT_DIR}/lib/sanitizer_common/sanitizer_stoptheworld_linux_libc dep.cc" \
317 "${COMPILER_RT_DIR}/test/tsan/signal_segv_handler.cc" \ 317 "${COMPILER_RT_DIR}/test/tsan/signal_segv_handler.cc" \
318 "${COMPILER_RT_DIR}/lib/sanitizer_common/sanitizer_coverage_libcdep.cc" \ 318 "${COMPILER_RT_DIR}/lib/sanitizer_common/sanitizer_coverage_libcdep.cc" \
319 "${COMPILER_RT_DIR}/cmake/config-ix.cmake" \ 319 "${COMPILER_RT_DIR}/cmake/config-ix.cmake" \
320 "${COMPILER_RT_DIR}/CMakeLists.txt" \
320 "${COMPILER_RT_DIR}/lib/ubsan/ubsan_platform.h" \ 321 "${COMPILER_RT_DIR}/lib/ubsan/ubsan_platform.h" \
321 ; do 322 ; do
322 if [[ -e "${i}" ]]; then 323 if [[ -e "${i}" ]]; then
323 rm -f "${i}" # For unversioned files. 324 rm -f "${i}" # For unversioned files.
324 svn revert "${i}" 325 svn revert "${i}"
325 fi; 326 fi;
326 done 327 done
327 328
328 echo Remove the Clang tools shim dir 329 echo Remove the Clang tools shim dir
329 CHROME_TOOLS_SHIM_DIR=${ABS_LLVM_DIR}/tools/chrometools 330 CHROME_TOOLS_SHIM_DIR=${ABS_LLVM_DIR}/tools/chrometools
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
411 412
412 ; REQUIRES: shell 413 ; REQUIRES: shell
413 EOF 414 EOF
414 patch -p0 415 patch -p0
415 popd 416 popd
416 417
417 # The UBSan run-time, which is now bundled with the ASan run-time, doesn't wor k 418 # The UBSan run-time, which is now bundled with the ASan run-time, doesn't wor k
418 # on Mac OS X 10.8 (PR23539). 419 # on Mac OS X 10.8 (PR23539).
419 pushd "${COMPILER_RT_DIR}" 420 pushd "${COMPILER_RT_DIR}"
420 cat << 'EOF' | 421 cat << 'EOF' |
421 --- cmake/config-ix.cmake 422 Index: CMakeLists.txt
422 +++ cmake/config-ix.cmake 423 ===================================================================
423 @@ -319,7 +319,7 @@ else() 424 --- CMakeLists.txt» (revision 241602)
424 endif() 425 +++ CMakeLists.txt» (working copy)
425 426 @@ -305,6 +305,7 @@
426 if (COMPILER_RT_HAS_SANITIZER_COMMON AND UBSAN_SUPPORTED_ARCH AND 427 list(APPEND SANITIZER_COMMON_SUPPORTED_OS iossim)
427 - OS_NAME MATCHES "Darwin|Linux|FreeBSD") 428 endif()
428 + OS_NAME MATCHES "Linux|FreeBSD") 429 endif()
429 set(COMPILER_RT_HAS_UBSAN TRUE) 430 + set(SANITIZER_MIN_OSX_VERSION "10.7")
430 else() 431 if(SANITIZER_MIN_OSX_VERSION VERSION_LESS "10.7")
431 set(COMPILER_RT_HAS_UBSAN FALSE) 432 message(FATAL_ERROR "Too old OS X version: ${SANITIZER_MIN_OSX_VERSION}")
432 diff --git a/lib/ubsan/ubsan_platform.h b/lib/ubsan/ubsan_platform.h 433 endif()
433 index 8ba253b..d5dce8d 100644
434 --- lib/ubsan/ubsan_platform.h
435 +++ lib/ubsan/ubsan_platform.h
436 @@ -14,7 +14,7 @@
437 #define UBSAN_PLATFORM_H
438
439 // Other platforms should be easy to add, and probably work as-is.
440 -#if (defined(__linux__) || defined(__FreeBSD__) || defined(__APPLE__)) && \
441 +#if (defined(__linux__) || defined(__FreeBSD__)) && \
442 (defined(__x86_64__) || defined(__i386__) || defined(__arm__) || \
443 defined(__aarch64__) || defined(__mips__) || defined(__powerpc64__))
444 # define CAN_SANITIZE_UB 1
445 EOF 434 EOF
446 patch -p0 435 patch -p0
447 popd 436 popd
448 437
449 fi 438 fi
450 439
451 # Echo all commands. 440 # Echo all commands.
452 set -x 441 set -x
453 442
454 # Set default values for CC and CXX if they're not set in the environment. 443 # Set default values for CC and CXX if they're not set in the environment.
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
560 pushd libcxxbuild 549 pushd libcxxbuild
561 ${CC:-cc} libcxx/*.o libcxxabi/*.o -o libc++.1.dylib -dynamiclib \ 550 ${CC:-cc} libcxx/*.o libcxxabi/*.o -o libc++.1.dylib -dynamiclib \
562 -nodefaultlibs -current_version 1 -compatibility_version 1 \ 551 -nodefaultlibs -current_version 1 -compatibility_version 1 \
563 -lSystem -install_name @executable_path/libc++.dylib \ 552 -lSystem -install_name @executable_path/libc++.dylib \
564 -Wl,-unexported_symbols_list,${ABS_LIBCXX_DIR}/lib/libc++unexp.exp \ 553 -Wl,-unexported_symbols_list,${ABS_LIBCXX_DIR}/lib/libc++unexp.exp \
565 -Wl,-force_symbols_not_weak_list,${ABS_LIBCXX_DIR}/lib/notweak.exp \ 554 -Wl,-force_symbols_not_weak_list,${ABS_LIBCXX_DIR}/lib/notweak.exp \
566 -Wl,-force_symbols_weak_list,${ABS_LIBCXX_DIR}/lib/weak.exp 555 -Wl,-force_symbols_weak_list,${ABS_LIBCXX_DIR}/lib/weak.exp
567 ln -sf libc++.1.dylib libc++.dylib 556 ln -sf libc++.1.dylib libc++.dylib
568 popd 557 popd
569 LDFLAGS+="-stdlib=libc++ -L${PWD}/libcxxbuild" 558 LDFLAGS+="-stdlib=libc++ -L${PWD}/libcxxbuild"
559
560 if [[ -n "${bootstrap}" ]]; then
561 # Now that the libc++ headers have been installed and libc++.dylib is built,
562 # delete the libc++ checkout again so that it's not part of the main
563 # build below -- the libc++(abi) tests don't pass on OS X in bootstrap
564 # builds (http://llvm.org/PR24068)
565 rm -rf "${ABS_LIBCXX_DIR}"
566 rm -rf "${ABS_LIBCXXABI_DIR}"
567 CXXFLAGS="-stdlib=libc++ -nostdinc++ -I${ABS_INSTALL_DIR}/include/c++/v1 ${C FLAGS}"
568 fi
570 fi 569 fi
571 570
572 # Find the binutils include dir for the gold plugin. 571 # Find the binutils include dir for the gold plugin.
573 BINUTILS_INCDIR="" 572 BINUTILS_INCDIR=""
574 if [ "${OS}" = "Linux" ]; then 573 if [ "${OS}" = "Linux" ]; then
575 BINUTILS_INCDIR="${ABS_BINUTILS_DIR}/Linux_x64/Release/include" 574 BINUTILS_INCDIR="${ABS_BINUTILS_DIR}/Linux_x64/Release/include"
576 fi 575 fi
577 576
578 577
579 # If building at head, define a macro that plugins can use for #ifdefing 578 # If building at head, define a macro that plugins can use for #ifdefing
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
708 # Run Chrome tool tests. 707 # Run Chrome tool tests.
709 ninja -C "${LLVM_BUILD_DIR}" cr-check-all 708 ninja -C "${LLVM_BUILD_DIR}" cr-check-all
710 fi 709 fi
711 if [[ -n "$run_tests" ]]; then 710 if [[ -n "$run_tests" ]]; then
712 # Run the LLVM and Clang tests. 711 # Run the LLVM and Clang tests.
713 ninja -C "${LLVM_BUILD_DIR}" check-all 712 ninja -C "${LLVM_BUILD_DIR}" check-all
714 fi 713 fi
715 714
716 # After everything is done, log success for this revision. 715 # After everything is done, log success for this revision.
717 echo "${PACKAGE_VERSION}" > "${STAMP_FILE}" 716 echo "${PACKAGE_VERSION}" > "${STAMP_FILE}"
OLDNEW
« no previous file with comments | « tools/clang/scripts/update.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698