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

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

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/package.py ('k') | tools/clang/scripts/update.sh » ('j') | 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 python 1 #!/usr/bin/env python
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 """Windows can't run .sh files, so this is a Python implementation of 6 """Windows can't run .sh files, so this is a Python implementation of
7 update.sh. This script should replace update.sh on all platforms eventually.""" 7 update.sh. This script should replace update.sh on all platforms eventually."""
8 8
9 import argparse 9 import argparse
10 import contextlib 10 import contextlib
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 '%(clang)s/lib/Parse/ParseExpr.cpp', 214 '%(clang)s/lib/Parse/ParseExpr.cpp',
215 '%(clang)s/lib/Parse/ParseTemplate.cpp', 215 '%(clang)s/lib/Parse/ParseTemplate.cpp',
216 '%(clang)s/lib/Sema/SemaDeclCXX.cpp', 216 '%(clang)s/lib/Sema/SemaDeclCXX.cpp',
217 '%(clang)s/lib/Sema/SemaExprCXX.cpp', 217 '%(clang)s/lib/Sema/SemaExprCXX.cpp',
218 '%(clang)s/test/SemaCXX/default2.cpp', 218 '%(clang)s/test/SemaCXX/default2.cpp',
219 '%(clang)s/test/SemaCXX/typo-correction-delayed.cpp', 219 '%(clang)s/test/SemaCXX/typo-correction-delayed.cpp',
220 '%(compiler_rt)s/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.c c', 220 '%(compiler_rt)s/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.c c',
221 '%(compiler_rt)s/test/tsan/signal_segv_handler.cc', 221 '%(compiler_rt)s/test/tsan/signal_segv_handler.cc',
222 '%(compiler_rt)s/lib/sanitizer_common/sanitizer_coverage_libcdep.cc', 222 '%(compiler_rt)s/lib/sanitizer_common/sanitizer_coverage_libcdep.cc',
223 '%(compiler_rt)s/cmake/config-ix.cmake', 223 '%(compiler_rt)s/cmake/config-ix.cmake',
224 '%(compiler_rt)s/CMakeLists.txt',
224 '%(compiler_rt)s/lib/ubsan/ubsan_platform.h', 225 '%(compiler_rt)s/lib/ubsan/ubsan_platform.h',
225 ] 226 ]
226 for f in files: 227 for f in files:
227 f = f % { 228 f = f % {
228 'clang': CLANG_DIR, 229 'clang': CLANG_DIR,
229 'compiler_rt': COMPILER_RT_DIR, 230 'compiler_rt': COMPILER_RT_DIR,
230 'llvm': LLVM_DIR, 231 'llvm': LLVM_DIR,
231 } 232 }
232 if os.path.exists(f): 233 if os.path.exists(f):
233 os.remove(f) # For unversioned files. 234 os.remove(f) # For unversioned files.
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
275 -; RUN: llvm-go test llvm.org/llvm/bindings/go/llvm 276 -; RUN: llvm-go test llvm.org/llvm/bindings/go/llvm
276 +; RUN: true 277 +; RUN: true
277 278
278 ; REQUIRES: shell 279 ; REQUIRES: shell
279 """ 280 """
280 ] 281 ]
281 282
282 # The UBSan run-time, which is now bundled with the ASan run-time, doesn't 283 # The UBSan run-time, which is now bundled with the ASan run-time, doesn't
283 # work on Mac OS X 10.8 (PR23539). 284 # work on Mac OS X 10.8 (PR23539).
284 compiler_rt_patches = [ r"""\ 285 compiler_rt_patches = [ r"""\
285 --- cmake/config-ix.cmake 286 --- CMakeLists.txt» (revision 241602)
286 +++ cmake/config-ix.cmake 287 +++ CMakeLists.txt» (working copy)
287 @@ -319,7 +319,7 @@ else() 288 @@ -305,6 +305,7 @@
288 endif() 289 list(APPEND SANITIZER_COMMON_SUPPORTED_OS iossim)
289 290 endif()
290 if (COMPILER_RT_HAS_SANITIZER_COMMON AND UBSAN_SUPPORTED_ARCH AND 291 endif()
291 - OS_NAME MATCHES "Darwin|Linux|FreeBSD") 292 + set(SANITIZER_MIN_OSX_VERSION "10.7")
292 + OS_NAME MATCHES "Linux|FreeBSD") 293 if(SANITIZER_MIN_OSX_VERSION VERSION_LESS "10.7")
293 set(COMPILER_RT_HAS_UBSAN TRUE) 294 message(FATAL_ERROR "Too old OS X version: ${SANITIZER_MIN_OSX_VERSION}")
294 else() 295 endif()
295 set(COMPILER_RT_HAS_UBSAN FALSE)
296 diff --git a/lib/ubsan/ubsan_platform.h b/lib/ubsan/ubsan_platform.h
297 index 8ba253b..d5dce8d 100644
298 --- lib/ubsan/ubsan_platform.h
299 +++ lib/ubsan/ubsan_platform.h
300 @@ -14,7 +14,7 @@
301 #define UBSAN_PLATFORM_H
302
303 // Other platforms should be easy to add, and probably work as-is.
304 -#if (defined(__linux__) || defined(__FreeBSD__) || defined(__APPLE__)) && \
305 +#if (defined(__linux__) || defined(__FreeBSD__)) && \
306 (defined(__x86_64__) || defined(__i386__) || defined(__arm__) || \
307 defined(__aarch64__) || defined(__mips__) || defined(__powerpc64__))
308 # define CAN_SANITIZE_UB 1
309 """ 296 """
310 ] 297 ]
311 298
312 for path, patches in [(LLVM_DIR, llvm_patches), 299 for path, patches in [(LLVM_DIR, llvm_patches),
313 (CLANG_DIR, clang_patches), 300 (CLANG_DIR, clang_patches),
314 (COMPILER_RT_DIR, compiler_rt_patches)]: 301 (COMPILER_RT_DIR, compiler_rt_patches)]:
315 print 'Applying patches in', path 302 print 'Applying patches in', path
316 for patch in patches: 303 for patch in patches:
317 print patch 304 print patch
318 p = subprocess.Popen( ['patch', '-p0', '-d', path], stdin=subprocess.PIPE) 305 p = subprocess.Popen( ['patch', '-p0', '-d', path], stdin=subprocess.PIPE)
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
531 '-current_version', '1', '-compatibility_version', '1', '-lSystem', 518 '-current_version', '1', '-compatibility_version', '1', '-lSystem',
532 '-install_name', '@executable_path/libc++.dylib', 519 '-install_name', '@executable_path/libc++.dylib',
533 '-Wl,-unexported_symbols_list,' + libdir + '/libc++unexp.exp', 520 '-Wl,-unexported_symbols_list,' + libdir + '/libc++unexp.exp',
534 '-Wl,-force_symbols_not_weak_list,' + libdir + '/notweak.exp', 521 '-Wl,-force_symbols_not_weak_list,' + libdir + '/notweak.exp',
535 '-Wl,-force_symbols_weak_list,' + libdir + '/weak.exp']) 522 '-Wl,-force_symbols_weak_list,' + libdir + '/weak.exp'])
536 if os.path.exists('libc++.dylib'): 523 if os.path.exists('libc++.dylib'):
537 os.remove('libc++.dylib') 524 os.remove('libc++.dylib')
538 os.symlink('libc++.1.dylib', 'libc++.dylib') 525 os.symlink('libc++.1.dylib', 'libc++.dylib')
539 ldflags += ['-stdlib=libc++', '-L' + libcxxbuild] 526 ldflags += ['-stdlib=libc++', '-L' + libcxxbuild]
540 527
528 if args.bootstrap:
529 # Now that the libc++ headers have been installed and libc++.dylib is
530 # built, delete the libc++ checkout again so that it's not part of the
531 # main build below -- the libc++(abi) tests don't pass on OS X in
532 # bootstrap builds (http://llvm.org/PR24068)
533 RmTree(LIBCXX_DIR)
534 RmTree(LIBCXXABI_DIR)
535 cxxflags = ['-stdlib=libc++', '-nostdinc++',
536 '-I' + os.path.join(LLVM_BOOTSTRAP_INSTALL_DIR,
537 'include/c++/v1')
538 ] + cflags
539
541 # Build clang. 540 # Build clang.
542 binutils_incdir = '' 541 binutils_incdir = ''
543 if sys.platform.startswith('linux'): 542 if sys.platform.startswith('linux'):
544 binutils_incdir = os.path.join(BINUTILS_DIR, 'Linux_x64/Release/include') 543 binutils_incdir = os.path.join(BINUTILS_DIR, 'Linux_x64/Release/include')
545 544
546 # If building at head, define a macro that plugins can use for #ifdefing 545 # If building at head, define a macro that plugins can use for #ifdefing
547 # out code that builds at head, but not at LLVM_WIN_REVISION or vice versa. 546 # out code that builds at head, but not at LLVM_WIN_REVISION or vice versa.
548 if use_head_revision: 547 if use_head_revision:
549 cflags += ['-DLLVM_FORCE_HEAD_REVISION'] 548 cflags += ['-DLLVM_FORCE_HEAD_REVISION']
550 cxxflags += ['-DLLVM_FORCE_HEAD_REVISION'] 549 cxxflags += ['-DLLVM_FORCE_HEAD_REVISION']
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
753 752
754 args.force_local_build = True 753 args.force_local_build = True
755 # Skip local patches when using HEAD: they probably don't apply anymore. 754 # Skip local patches when using HEAD: they probably don't apply anymore.
756 args.with_patches = False 755 args.with_patches = False
757 756
758 return UpdateClang(args) 757 return UpdateClang(args)
759 758
760 759
761 if __name__ == '__main__': 760 if __name__ == '__main__':
762 sys.exit(main()) 761 sys.exit(main())
OLDNEW
« no previous file with comments | « tools/clang/scripts/package.py ('k') | tools/clang/scripts/update.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698