diff options
author | glider@chromium.org <glider@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-11 17:30:53 +0000 |
---|---|---|
committer | glider@chromium.org <glider@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-11 17:30:53 +0000 |
commit | a541e2935461b95370452215606d2b1ea553ee72 (patch) | |
tree | 3c252419ceba76c8304dc53007f4419bfd5bcdb8 | |
parent | c19ba104272c5444354f4b22c1411e634c935c83 (diff) | |
download | chromium_src-a541e2935461b95370452215606d2b1ea553ee72.zip chromium_src-a541e2935461b95370452215606d2b1ea553ee72.tar.gz chromium_src-a541e2935461b95370452215606d2b1ea553ee72.tar.bz2 |
Revert 187297
> Add a postbuild action for executables built with ASan on Mac OS.
> The action will copy the ASan dynamic runtime to the same dir where
> the executable is.
>
> BUG=170629
> Review URL: https://codereview.chromium.org/11642018
TBR=glider@chromium.org
Review URL: https://codereview.chromium.org/12440020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187309 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | build/all.gyp | 1 | ||||
-rw-r--r-- | build/common.gypi | 28 | ||||
-rw-r--r-- | build/mac/asan.gyp | 32 | ||||
-rwxr-xr-x | build/mac/copy_asan_runtime_dylib.sh | 53 |
4 files changed, 0 insertions, 114 deletions
diff --git a/build/all.gyp b/build/all.gyp index a071908..58e8b09 100644 --- a/build/all.gyp +++ b/build/all.gyp @@ -11,7 +11,6 @@ 'dependencies': [ 'some.gyp:*', '../base/base.gyp:*', - '../build/mac/asan.gyp:*', '../chrome/chrome.gyp:*', '../content/content.gyp:*', '../crypto/crypto.gyp:*', diff --git a/build/common.gypi b/build/common.gypi index c861e63..f22c58c 100644 --- a/build/common.gypi +++ b/build/common.gypi @@ -1658,11 +1658,6 @@ # throughout the codebase. 'defines' : ['USE_SKIA'], 'conditions': [ - ['asan==1', { - 'dependencies': [ - '<(DEPTH)/build/mac/asan.gyp:asan_dynamic_runtime', - ], - }], ['OS=="linux" and linux_use_tcmalloc==1 and clang_type_profiler==1', { 'cflags_cc!': ['-fno-rtti'], 'cflags_cc+': [ @@ -3535,29 +3530,6 @@ }], ['_mac_bundle', { 'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-ObjC']}, - 'target_conditions': [ - ['_type=="executable"', { - 'conditions': [ - ['asan==1', { - 'postbuilds': [ - { - 'variables': { - # Define copy_asan_dylib_path in a variable ending in - # _path so that gyp understands it's a path and - # performs proper relativization during dict merging. - 'copy_asan_dylib_path': - 'mac/copy_asan_runtime_dylib.sh', - }, - 'postbuild_name': 'Copy ASan runtime dylib', - 'action': [ - '<(copy_asan_dylib_path)', - ], - }, - ], - }], - ], - }], - ], }], ], # target_conditions }, # target_defaults diff --git a/build/mac/asan.gyp b/build/mac/asan.gyp deleted file mode 100644 index 4a0cef9..0000000 --- a/build/mac/asan.gyp +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright (c) 2012 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -{ - 'targets': [ - { - 'target_name': 'asan_dynamic_runtime', - 'type': 'none', - 'variables': { - # Every target is going to depend on asan_dynamic_runtime, so allow - # this one to depend on itself. - 'prune_self_dependency': 1, - # Path is relative to this GYP file. - 'asan_rtl_mask_path': - '../../third_party/llvm-build/Release+Asserts/lib/clang/*/lib/darwin/libclang_rt.asan_osx_dynamic.dylib', - }, - 'conditions': [ - ['OS=="mac"', { - 'copies': [ - { - 'destination': '<(PRODUCT_DIR)', - 'files': [ - '<!(/bin/ls <(asan_rtl_mask_path))', - ], - }, - ], - }], - ], - }, - ], -} diff --git a/build/mac/copy_asan_runtime_dylib.sh b/build/mac/copy_asan_runtime_dylib.sh deleted file mode 100755 index beefe79..0000000 --- a/build/mac/copy_asan_runtime_dylib.sh +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/bash - -# Copyright (c) 2013 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -# For app bundles built with ASan, copies the runtime lib -# (libclang_rt.asan_osx_dynamic.dylib), on which their executables depend, from -# the compiler installation path to appname.app/Contents/Resources and fixes the -# dylib's install name in the binary to be relative to @executable_path. - -set -e - -BINARY="${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}" -BINARY_DIR="$(dirname "${BINARY}")" -ASAN_DYLIB_NAME=libclang_rt.asan_osx_dynamic.dylib -ASAN_DYLIB=$(find \ - "${BUILT_PRODUCTS_DIR}/../../third_party/llvm-build/Release+Asserts/lib/clang/" \ - -type f -path "*${ASAN_DYLIB_NAME}") - -# Find the link to the ASan runtime encoded in the binary. -BUILTIN_DYLIB_PATH=$(otool -L "${BINARY}" | \ - sed -Ene 's/^[[:blank:]]+(.*libclang_rt\.asan_osx_dynamic\.dylib).*$/\1/p') - -if [[ -z "${BUILTIN_DYLIB_PATH}" ]]; then - echo "${BINARY} does not depend on the ASan runtime library!" >&2 - # TODO(glider): make this return 1 when we fully switch to the dynamic - # runtime in ASan. - exit 0 -fi - -DYLIB_BASENAME=$(basename "${ASAN_DYLIB}") -if [[ "${DYLIB_BASENAME}" != "${ASAN_DYLIB_NAME}" ]]; then - echo "basename(${ASAN_DYLIB}) != ${ASAN_DYLIB_NAME}" >&2 - exit 1 -fi - -LIBRARIES_DIR="$(dirname "${BINARY_DIR}")/Libraries" -mkdir -p "${LIBRARIES_DIR}" -cp "${ASAN_DYLIB}" "${LIBRARIES_DIR}" - -NEW_LC_ID_DYLIB="@executable_path/../Libraries/${ASAN_DYLIB_NAME}" - -# Make LC_ID_DYLIB of the runtime copy point to its location. -install_name_tool \ - -id "${NEW_LC_ID_DYLIB}" \ - "${LIBRARIES_DIR}/${ASAN_DYLIB_NAME}" - -# Fix the rpath to the runtime library recorded in the binary. -install_name_tool \ - -change "${BUILTIN_DYLIB_PATH}" \ - "${NEW_LC_ID_DYLIB}" \ - "${BINARY}" |