From 025dde0f9c4ee2dbefdd77104e11374e30427feb Mon Sep 17 00:00:00 2001 From: "mark@chromium.org" Date: Fri, 14 Jun 2013 19:52:44 +0000 Subject: 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 --- remoting/scripts/mac/dump_product_syms | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) (limited to 'remoting/scripts/mac') 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 " >&2 +if [[ "$#" -ne 1 ]]; then + echo "usage: $0 " >&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 -- cgit v1.1