| Index: tools/clang/scripts/update.sh
|
| diff --git a/tools/clang/scripts/update.sh b/tools/clang/scripts/update.sh
|
| index 1feb2f58bdb475a6ef330244e4ea3915e913d33b..eabed4bff7b4edac599345769e2949665b4339d8 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=216630
|
| +CLANG_REVISION=217949
|
|
|
| THIS_DIR="$(dirname "${0}")"
|
| LLVM_DIR="${THIS_DIR}/../../../third_party/llvm"
|
| @@ -227,6 +227,18 @@ if ! which ninja > /dev/null; then
|
| exit 1
|
| fi
|
|
|
| +echo Reverting previously patched files
|
| +for i in \
|
| + "${CLANG_DIR}/test/Index/crash-recovery-modules.m" \
|
| + "${CLANG_DIR}/unittests/libclang/LibclangTest.cpp" \
|
| + "${COMPILER_RT_DIR}/lib/asan/asan_rtl.cc" \
|
| + "${COMPILER_RT_DIR}/test/asan/TestCases/Linux/new_array_cookie_test.cc" \
|
| + ; do
|
| + if [[ -e "${i}" ]]; then
|
| + svn revert "${i}"
|
| + fi;
|
| +done
|
| +
|
| echo Getting LLVM r"${CLANG_REVISION}" in "${LLVM_DIR}"
|
| if ! svn co --force "${LLVM_REPO_URL}/llvm/trunk@${CLANG_REVISION}" \
|
| "${LLVM_DIR}"; then
|
| @@ -264,7 +276,6 @@ fi
|
|
|
| # Apply patch for tests failing with --disable-pthreads (llvm.org/PR11974)
|
| pushd "${CLANG_DIR}"
|
| -svn revert test/Index/crash-recovery-modules.m
|
| cat << 'EOF' |
|
| --- third_party/llvm/tools/clang/test/Index/crash-recovery-modules.m (revision 202554)
|
| +++ third_party/llvm/tools/clang/test/Index/crash-recovery-modules.m (working copy)
|
| @@ -281,7 +292,6 @@ patch -p4
|
| popd
|
|
|
| pushd "${CLANG_DIR}"
|
| -svn revert unittests/libclang/LibclangTest.cpp
|
| cat << 'EOF' |
|
| --- unittests/libclang/LibclangTest.cpp (revision 215949)
|
| +++ unittests/libclang/LibclangTest.cpp (working copy)
|
| @@ -298,40 +308,6 @@ EOF
|
| patch -p0
|
| popd
|
|
|
| -# Apply r216684 to fix ASan array cookie instrumentation problem.
|
| -# (See https://code.google.com/p/chromium/issues/detail?id=400849#c17)
|
| -pushd "${COMPILER_RT_DIR}"
|
| -svn revert lib/asan/asan_rtl.cc
|
| -svn revert test/asan/TestCases/Linux/new_array_cookie_test.cc
|
| -cat << 'EOF' |
|
| ---- a/lib/asan/asan_rtl.cc
|
| -+++ b/lib/asan/asan_rtl.cc
|
| -@@ -269,7 +269,7 @@ void InitializeFlags(Flags *f, const char *env) {
|
| - f->allow_reexec = true;
|
| - f->print_full_thread_history = true;
|
| - f->poison_heap = true;
|
| -- f->poison_array_cookie = true;
|
| -+ f->poison_array_cookie = false;
|
| - f->poison_partial = true;
|
| - // Turn off alloc/dealloc mismatch checker on Mac and Windows for now.
|
| - // https://code.google.com/p/address-sanitizer/issues/detail?id=131
|
| -diff --git a/test/asan/TestCases/Linux/new_array_cookie_test.cc b/test/asan/TestCases/Linux/new_array_cookie_test.cc
|
| -index 339120b..49545f0 100644
|
| ---- a/test/asan/TestCases/Linux/new_array_cookie_test.cc
|
| -+++ b/test/asan/TestCases/Linux/new_array_cookie_test.cc
|
| -@@ -1,6 +1,6 @@
|
| - // REQUIRES: asan-64-bits
|
| --// RUN: %clangxx_asan -O0 %s -o %t && not %run %t 2>&1 | FileCheck %s
|
| --// RUN: %clangxx_asan -O3 %s -o %t && not %run %t 2>&1 | FileCheck %s
|
| -+// RUN: %clangxx_asan -O3 %s -o %t
|
| -+// RUN %run %t
|
| - // RUN: ASAN_OPTIONS=poison_array_cookie=1 not %run %t 2>&1 | FileCheck %s
|
| - // RUN: ASAN_OPTIONS=poison_array_cookie=0 %run %t
|
| - #include <stdio.h>
|
| -EOF
|
| -patch -p1
|
| -popd
|
| -
|
| # Echo all commands.
|
| set -x
|
|
|
|
|