Commit 500b4b17 authored by Max Moroz's avatar Max Moroz Committed by Commit Bot

Clean up LLVM bundle package: don't use wildcards and exclude unneeded libs.

Hopefully this won't break too many things. Libraries removed:

- Linux: removed ~5.5MB from ~24.5MB of libs (excluding Android libs):
1.5M	libclang_rt.asan-i386.so
4.0K	libclang_rt.asan-preinit-i386.a
1.5M	libclang_rt.asan-x86_64.so
4.0K	libclang_rt.asan-preinit-x86_64.a
36K	libclang_rt.hwasan_cxx-x86_64.a
4.0K	libclang_rt.hwasan_cxx-x86_64.a.syms
1.4M	libclang_rt.hwasan-x86_64.a
4.0K	libclang_rt.hwasan-x86_64.a.syms
388K	libclang_rt.hwasan-x86_64.so
352K	libclang_rt.ubsan_standalone-i386.so
332K	libclang_rt.ubsan_standalone-x86_64.so

- Darwin: removed ~3MB from ~9MB of libs
1.5M	libclang_rt.fuzzer_no_main_ios.a
1.6M	libclang_rt.fuzzer_no_main_iossim.a

- Windows: (insignificant) removed ~50KB from ~28MB of libs
48094	clang_rt.asan-preinit-i386.lib
892	clang_rt.asan-preinit-x86_64.lib

Bug: 870331
Change-Id: I0ccf1310b2ab5bde6d514a31b2c5ba7eb2844401
Reviewed-on: https://chromium-review.googlesource.com/c/1315361Reviewed-by: default avatarNico Weber <thakis@chromium.org>
Reviewed-by: default avatarReid Kleckner <rnk@chromium.org>
Reviewed-by: default avatarJonathan Metzman <metzman@chromium.org>
Commit-Queue: Max Moroz <mmoroz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#607265}
parent a765b323
......@@ -249,39 +249,110 @@ def main():
'lib/libBlinkGCPlugin.' + so_ext,
])
if sys.platform == 'darwin':
want.extend([# Copy only the OSX and iossim (ASan, fuzzer and profile)
# runtime libraries:
'lib/clang/*/lib/darwin/*asan_osx*',
'lib/clang/*/lib/darwin/*asan_iossim*',
'lib/clang/*/lib/darwin/*fuzzer_no_main*',
'lib/clang/*/lib/darwin/*profile_osx*',
'lib/clang/*/lib/darwin/*profile_iossim*',
# And the OSX and ios builtin libraries (iossim is lipo'd into
# ios) for the _IsOSVersionAtLeast runtime function.
'lib/clang/*/lib/darwin/*.ios.a',
'lib/clang/*/lib/darwin/*.osx.a',
])
want.extend([
# AddressSanitizer runtime.
'lib/clang/*/lib/darwin/libclang_rt.asan_iossim_dynamic.dylib',
'lib/clang/*/lib/darwin/libclang_rt.asan_osx_dynamic.dylib',
# Fuzzing instrumentation (-fsanitize=fuzzer-no-link).
'lib/clang/*/lib/darwin/libclang_rt.fuzzer_no_main_osx.a',
# OS X and iOS builtin libraries (iossim is lipo'd into ios) for the
# _IsOSVersionAtLeast runtime function.
'lib/clang/*/lib/darwin/libclang_rt.ios.a',
'lib/clang/*/lib/darwin/libclang_rt.osx.a',
# Profile runtime (used by profiler and code coverage).
'lib/clang/*/lib/darwin/libclang_rt.profile_iossim.a',
'lib/clang/*/lib/darwin/libclang_rt.profile_osx.a',
])
elif sys.platform.startswith('linux'):
# Add llvm-ar and lld for LTO.
want.append('bin/llvm-ar')
want.append('bin/lld')
# Copy only
# lib/clang/*/lib/linux/libclang_rt.{[atm]san,san,ubsan,fuzzer,profile}-*.a,
# but not dfsan.
want.extend(['lib/clang/*/lib/linux/*[atm]san*',
'lib/clang/*/lib/linux/*ubsan_standalone*',
'lib/clang/*/lib/linux/*libclang_rt.fuzzer_no_main*',
'lib/clang/*/lib/linux/*libclang_rt.san*',
'lib/clang/*/lib/linux/*profile*',
'lib/clang/*/share/msan_blacklist.txt',
])
want.extend([
# AddressSanitizer C runtime (pure C won't link with *_cxx).
'lib/clang/*/lib/linux/libclang_rt.asan-i386.a',
'lib/clang/*/lib/linux/libclang_rt.asan-x86_64.a',
'lib/clang/*/lib/linux/libclang_rt.asan-x86_64.a.syms',
# AddressSanitizer C++ runtime.
'lib/clang/*/lib/linux/libclang_rt.asan_cxx-i386.a',
'lib/clang/*/lib/linux/libclang_rt.asan_cxx-x86_64.a',
'lib/clang/*/lib/linux/libclang_rt.asan_cxx-x86_64.a.syms',
# Fuzzing instrumentation (-fsanitize=fuzzer-no-link).
'lib/clang/*/lib/linux/libclang_rt.fuzzer_no_main-x86_64.a',
# MemorySanitizer C runtime (pure C won't link with *_cxx).
'lib/clang/*/lib/linux/libclang_rt.msan-x86_64.a',
'lib/clang/*/lib/linux/libclang_rt.msan-x86_64.a.syms',
# MemorySanitizer C++ runtime.
'lib/clang/*/lib/linux/libclang_rt.msan_cxx-x86_64.a',
'lib/clang/*/lib/linux/libclang_rt.msan_cxx-x86_64.a.syms',
# Profile runtime (used by profiler and code coverage).
'lib/clang/*/lib/linux/libclang_rt.profile-i386.a',
'lib/clang/*/lib/linux/libclang_rt.profile-x86_64.a',
# ThreadSanitizer C runtime (pure C won't link with *_cxx).
'lib/clang/*/lib/linux/libclang_rt.tsan-x86_64.a',
'lib/clang/*/lib/linux/libclang_rt.tsan-x86_64.a.syms',
# ThreadSanitizer C++ runtime.
'lib/clang/*/lib/linux/libclang_rt.tsan_cxx-x86_64.a',
'lib/clang/*/lib/linux/libclang_rt.tsan_cxx-x86_64.a.syms',
# UndefinedBehaviorSanitizer C runtime (pure C won't link with *_cxx).
'lib/clang/*/lib/linux/libclang_rt.ubsan_standalone-i386.a',
'lib/clang/*/lib/linux/libclang_rt.ubsan_standalone-x86_64.a',
'lib/clang/*/lib/linux/libclang_rt.ubsan_standalone-x86_64.a.syms',
# UndefinedBehaviorSanitizer C++ runtime.
'lib/clang/*/lib/linux/libclang_rt.ubsan_standalone_cxx-i386.a',
'lib/clang/*/lib/linux/libclang_rt.ubsan_standalone_cxx-x86_64.a',
'lib/clang/*/lib/linux/libclang_rt.ubsan_standalone_cxx-x86_64.a.syms',
# Blacklist for MemorySanitizer (used on Linux only).
'lib/clang/*/share/msan_blacklist.txt',
])
elif sys.platform == 'win32':
want.extend(['lib/clang/*/lib/windows/clang_rt.asan*.dll',
'lib/clang/*/lib/windows/clang_rt.asan*.lib',
'lib/clang/*/lib/windows/clang_rt.fuzzer_no_main*.lib',
'lib/clang/*/lib/windows/clang_rt.profile*.lib',
'lib/clang/*/lib/windows/clang_rt.ubsan_standalone*.lib',
])
want.extend([
# AddressSanitizer C runtime (pure C won't link with *_cxx).
'lib/clang/*/lib/windows/clang_rt.asan-i386.lib',
'lib/clang/*/lib/windows/clang_rt.asan-x86_64.lib',
# AddressSanitizer C++ runtime.
'lib/clang/*/lib/windows/clang_rt.asan_cxx-i386.lib',
'lib/clang/*/lib/windows/clang_rt.asan_cxx-x86_64.lib',
# Thunk for AddressSanitizer needed for static build of a shared lib.
'lib/clang/*/lib/windows/clang_rt.asan_dll_thunk-i386.lib',
'lib/clang/*/lib/windows/clang_rt.asan_dll_thunk-x86_64.lib',
# AddressSanitizer runtime for component build.
'lib/clang/*/lib/windows/clang_rt.asan_dynamic-i386.dll',
'lib/clang/*/lib/windows/clang_rt.asan_dynamic-i386.lib',
'lib/clang/*/lib/windows/clang_rt.asan_dynamic-x86_64.dll',
'lib/clang/*/lib/windows/clang_rt.asan_dynamic-x86_64.lib',
# Thunk for AddressSanitizer for component build of a shared lib.
'lib/clang/*/lib/windows/clang_rt.asan_dynamic_runtime_thunk-i386.lib',
'lib/clang/*/lib/windows/clang_rt.asan_dynamic_runtime_thunk-x86_64.lib',
# Profile runtime (used by profiler and code coverage).
'lib/clang/*/lib/windows/clang_rt.profile-i386.lib',
'lib/clang/*/lib/windows/clang_rt.profile-x86_64.lib',
# UndefinedBehaviorSanitizer C runtime (pure C won't link with *_cxx).
'lib/clang/*/lib/windows/clang_rt.ubsan_standalone-i386.lib',
'lib/clang/*/lib/windows/clang_rt.ubsan_standalone-x86_64.lib',
# UndefinedBehaviorSanitizer C++ runtime.
'lib/clang/*/lib/windows/clang_rt.ubsan_standalone_cxx-i386.lib',
'lib/clang/*/lib/windows/clang_rt.ubsan_standalone_cxx-x86_64.lib',
])
if sys.platform in ('linux2', 'darwin'):
# Include libclang_rt.builtins.a for Fuchsia targets.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment