summaryrefslogtreecommitdiffstats
path: root/remoting/scripts/mac
diff options
context:
space:
mode:
authormark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-14 19:52:44 +0000
committermark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-14 19:52:44 +0000
commit025dde0f9c4ee2dbefdd77104e11374e30427feb (patch)
treea9033da5668c1ed39beae969f552d2f57566c37d /remoting/scripts/mac
parentaa283dc1f1c26d650ee8d6170c8eecfedad1138c (diff)
downloadchromium_src-025dde0f9c4ee2dbefdd77104e11374e30427feb.zip
chromium_src-025dde0f9c4ee2dbefdd77104e11374e30427feb.tar.gz
chromium_src-025dde0f9c4ee2dbefdd77104e11374e30427feb.tar.bz2
Make remoting_me2me_host build properly for official Mac 64-bit builds.
remoting's symbol dumper was hard-coded to work on 32-bit x86 only. Similar to r184545 for Chrome, it is now updated to check the built product for what architectures are present. It will dump Breakpad symbols for 32-bit x86, x86_64, or both, as present. The symbol dumper is moved from an action in a distinct 'none'-type target to a postbuild in the correct target. There was no guarantee that the 'none' target would ever be built (and thus that symbols would be dumped), since nothing actually depended on this target. It is likely that whatever required symbols, if anything, was just building the 'All' target. This is not good practice. A postbuild on the correct target is the right way to dump these symbols. Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=206360 Review URL: https://chromiumcodereview.appspot.com/17003003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206477 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting/scripts/mac')
-rwxr-xr-xremoting/scripts/mac/dump_product_syms30
1 files changed, 19 insertions, 11 deletions
diff --git a/remoting/scripts/mac/dump_product_syms b/remoting/scripts/mac/dump_product_syms
index cc54a97..7c53948 100755
--- a/remoting/scripts/mac/dump_product_syms
+++ b/remoting/scripts/mac/dump_product_syms
@@ -6,22 +6,30 @@
set -eu
-if [[ "$#" -ne 3 ]]; then
- echo "$0 <dump_syms_tool> <mac_bundle> <breakpad_symbols>" >&2
+if [[ "$#" -ne 1 ]]; then
+ echo "usage: $0 <version>" >&2
+ echo "(BUILT_PRODUCTS_DIR and FULL_PRODUCT_NAME must be set)" >& 2
exit 1
fi
-DUMP_SYMS_TOOL="$1"
-SOURCE_BUNDLE="$2"
-BREAKPAD_SYMBOLS="$3"
-
-ARCH="i386"
+VERSION="$1"
+DUMP_SYMS_TOOL="${BUILT_PRODUCTS_DIR}/dump_syms"
+SOURCE_BUNDLE="${BUILT_PRODUCTS_DIR}/${FULL_PRODUCT_NAME}"
# Filename of bundle, minus the file extension.
STEM="$(basename "${SOURCE_BUNDLE%.*}")"
DWARF_PATH="${SOURCE_BUNDLE}.dSYM/Contents/Resources/DWARF/${STEM}"
-# Use -c to avoid dumping CFI, because the Breakpad stackwalk is incompatible
-# with CFI produced by clang.
-# http://code.google.com/p/google-breakpad/issues/detail?id=443
-"${DUMP_SYMS_TOOL}" -a "${ARCH}" -c "${DWARF_PATH}" > "${BREAKPAD_SYMBOLS}"
+ARCHS=$(file "${DWARF_PATH}" | sed -Ene 's/^.*(i386|x86_64)$/\1/p')
+if [[ -z "${ARCHS}" ]]; then
+ echo "$0: expected something dumpable in ${DWARF_PATH}" >& 2
+ exit 1
+fi
+
+for ARCH in ${ARCHS}; do
+ # Use -c to avoid dumping CFI, because the Breakpad stackwalk is incompatible
+ # with CFI produced by clang.
+ # http://code.google.com/p/google-breakpad/issues/detail?id=443
+ "${DUMP_SYMS_TOOL}" -a "${ARCH}" -c "${DWARF_PATH}" > \
+ "${SOURCE_BUNDLE}-${VERSION}-${ARCH}.breakpad"
+done