backout patch for bug 378463 due to bustage
authorsayrer@gmail.com
Tue, 01 May 2007 17:03:35 -0700
changeset 986 97b22e9ac48a6db9cb9fa1e24300b693c5d199de
parent 985 2bd4f5eb8de08e7e938f61658e91652700ea3ff2
child 987 308f64af1d0bfec2daf54cfb8fdbf69fb04086c9
push id1
push userbsmedberg@mozilla.com
push dateThu, 20 Mar 2008 16:49:24 +0000
treeherdermozilla-central@61007906a1f8 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs378463
milestone1.9a5pre
backout patch for bug 378463 due to bustage
Makefile.in
build/macosx/universal/flight.mk
toolkit/airbag/Makefile.in
toolkit/airbag/airbag/src/common/Makefile.in
toolkit/airbag/airbag/src/common/mac/Makefile.in
toolkit/airbag/airbag/src/tools/mac/dump_syms/Makefile.in
toolkit/airbag/tools/make_symbol_store.pl
toolkit/airbag/tools/win32/dump_syms.exe
toolkit/xre/Makefile.in
--- a/Makefile.in
+++ b/Makefile.in
@@ -129,49 +129,26 @@ ifdef MOZ_PROFILE
 	echo splitting symbols out of binaries
 	/bin/find $(DIST) -name "*.dll" -exec splitsym {} \;
 	/bin/find $(DIST) -name "*.exe" -exec splitsym {} \;
 	/bin/find $(DIST) -name "*.EXE" -exec splitsym {} \;
 	mkdir -p $(DIST)/$(BUILDID)
 	/bin/find $(DIST) -name "*.dbg" -exec mv {} $(DIST)/$(BUILDID) \;
 endif # MOZ_PROFILE
 endif # MOZILLA_OFFICIAL
-endif # WINNT
-
-ifeq ($(OS_ARCH),WINNT)
-SYM_FIND_CMD := /bin/find . -path dist -prune -o -name "*.exe" \
-    -o -name "*.dll" -o -name "*.EXE" | sed "s/\.[^\.]*$$/\.pdb/"
-# we want to copy PDB files on Windows
-MAKE_SYM_STORE_ARGS := -c
-DUMP_SYMS_BIN := $(topsrcdir)/toolkit/airbag/tools/win32/dump_syms.exe
-endif
-ifeq ($(OS_ARCH),Darwin)
-# need to pass arch flags for universal builds
-ifdef UNIVERSAL_BINARY
-MAKE_SYM_STORE_ARGS := -a "ppc i386"
-SYM_DIST := $(DIST)/universal
-else
-MAKE_SYM_STORE_ARGS := -a $(OS_TEST)
-SYM_DIST := $(DIST)
-endif
-# |file| is stupid on universal binaries, it produces one line of output
-# for the file, and one line of output for each architecture contained within.
-SYM_FIND_CMD := find -L $(SYM_DIST) -type f -a -perm -100 -o -name "*.dylib" \
-    | xargs file -L | grep "Mach-O" | grep -v "for architecture" | cut -f1 -d':'
-DUMP_SYMS_BIN := $(DIST)/host/bin/dump_syms
-endif
 
 buildsymbols:
 ifdef MOZ_DEBUG_SYMBOLS
 ifdef MOZ_AIRBAG
 	echo building symbol store
 	mkdir -p $(DIST)/crashreporter-symbols/$(BUILDID)
-	$(SYM_FIND_CMD) | \
-	  xargs $(topsrcdir)/toolkit/airbag/tools/make_symbol_store.pl    \
-	  $(MAKE_SYM_STORE_ARGS) $(DUMP_SYMS_BIN)                         \
+	/bin/find . -path "./dist" -prune -o -name "*.exe"                \
+          -o -name "*.dll" -o -name "*.EXE" | sed "s/\.[^\.]*$$/\.pdb/" | \
+	  xargs $(topsrcdir)/toolkit/airbag/tools/make_symbol_store.pl -c \
+	  $(topsrcdir)/toolkit/airbag/tools/win32/dump_syms.exe           \
 	  $(DIST)/crashreporter-symbols/$(BUILDID) >                      \
 	  $(DIST)/crashreporter-symbols/$(BUILDID)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)-$(OS_ARCH)-$(BUILDID)-symbols.txt
 	echo packing symbols
 	mkdir -p $(topsrcdir)/../$(BUILDID)
 	cd $(DIST)/crashreporter-symbols/$(BUILDID) && \
           zip -r9D ../crashreporter-symbols-$(BUILDID).zip .
 	mv $(DIST)/crashreporter-symbols/crashreporter-symbols-$(BUILDID).zip \
           $(topsrcdir)/../$(BUILDID)
@@ -180,21 +157,20 @@ endif # MOZ_AIRBAG
 
 uploadsymbols:
 ifdef MOZ_DEBUG_SYMBOLS
 ifdef MOZ_AIRBAG
 	$(topsrcdir)/toolkit/airbag/tools/upload_symbols.sh $(topsrcdir)/../$(BUILDID)/crashreporter-symbols-$(BUILDID).zip
 endif
 endif
 
-ifeq ($(OS_ARCH),WINNT)
 signnss:
 ifdef MOZILLA_OFFICIAL
 	echo signing NSS libs
 	cd $(DIST)/bin; ./shlibsign.exe -v -i softokn3.dll
 	cd $(DIST)/bin; ./shlibsign.exe -v -i freebl3.dll
 endif # MOZILLA_OFFICIAL
 
+BUILDID = $(shell cat $(DEPTH)/config/build_number)
 deliver: splitsymbols rebase signnss
 
 endif # WINNT
 
-BUILDID = $(shell cat $(DEPTH)/config/build_number)
--- a/build/macosx/universal/flight.mk
+++ b/build/macosx/universal/flight.mk
@@ -81,19 +81,19 @@ endif # } xulrunner
 endif # } !camino
 
 postflight_all:
 # Build the universal package out of only the bits that would be released.
 # Call the packager to set this up.  Set UNIVERSAL_BINARY= to avoid producing
 # a universal binary too early, before the unified bits have been staged.
 # Set SIGN_NSS= to skip shlibsign.
 	$(MAKE) -C $(OBJDIR_PPC)/$(INSTALLER_DIR) \
-          UNIVERSAL_BINARY= SIGN_NSS= PKG_SKIP_STRIP=1 stage-package
+          UNIVERSAL_BINARY= SIGN_NSS= stage-package
 	$(MAKE) -C $(OBJDIR_X86)/$(INSTALLER_DIR) \
-          UNIVERSAL_BINARY= SIGN_NSS= PKG_SKIP_STRIP=1 stage-package
+          UNIVERSAL_BINARY= SIGN_NSS= stage-package
 # Remove .chk files that may have been copied from the NSS build.  These will
 # cause unify to warn or fail if present.  New .chk files that are
 # appropriate for the merged libraries will be generated when the universal
 # dmg is built.
 	rm -f $(DIST_PPC)/$(MOZ_PKG_APPNAME)/$(APPNAME)/$(APP_CONTENTS)/*.chk \
 	      $(DIST_X86)/$(MOZ_PKG_APPNAME)/$(APPNAME)/$(APP_CONTENTS)/*.chk
 # The only difference betewen the two trees now should be the
 # about:buildconfig page.  Fix it up.
--- a/toolkit/airbag/Makefile.in
+++ b/toolkit/airbag/Makefile.in
@@ -56,22 +56,19 @@ DIRS = \
 
 ifeq  ($(OS_ARCH),WINNT)
 	DIRS += airbag/src/common/windows \
 		airbag/src/client/windows \
 		$(NULL)
 endif
 
 ifeq ($(OS_ARCH),Darwin)
-DIRS += \
-  airbag/src/common/ \
-  airbag/src/common/mac \
-  airbag/src/client/mac/handler \
-  airbag/src/tools/mac/dump_syms \
-  $(NULL)
+	DIRS += airbag/src/common/mac \
+		airbag/src/client/mac/handler \
+		$(NULL)
 endif
 
 DIRS += client
 
 LOCAL_INCLUDES = -I$(srcdir)/airbag/src
 DEFINES += -DUNICODE -D_UNICODE
 
 XPIDLSRCS = \
deleted file mode 100644
--- a/toolkit/airbag/airbag/src/common/Makefile.in
+++ /dev/null
@@ -1,65 +0,0 @@
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is Mozilla Breakpad integration
-#
-# The Initial Developer of the Original Code is
-# Ted Mielczarek <ted.mielczarek@gmail.com>
-# Portions created by the Initial Developer are Copyright (C) 2007
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-DEPTH		= ../../../../..
-topsrcdir	= @top_srcdir@
-srcdir		= @srcdir@
-VPATH		= @srcdir@
-
-include $(DEPTH)/config/autoconf.mk
-
-MODULE		= breakpad_common
-LIBRARY_NAME	= breakpad_common_s
-HOST_LIBRARY_NAME = host_breakpad_common_s
-
-LOCAL_INCLUDES 	= -I$(srcdir)/..
-
-CPPSRCS	= \
-  string_conversion.cc \
-  $(NULL)
-
-CSRCS = \
-  convert_UTF.c \
-  $(NULL)
-
-HOST_CPPSRCS = $(CPPSRCS)
-
-HOST_CSRCS = $(CSRCS)
-
-# need static lib
-FORCE_STATIC_LIB = 1
-
-include $(topsrcdir)/config/rules.mk
--- a/toolkit/airbag/airbag/src/common/mac/Makefile.in
+++ b/toolkit/airbag/airbag/src/common/mac/Makefile.in
@@ -38,36 +38,31 @@ DEPTH		= ../../../../../..
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= breakpad_mac_common
 LIBRARY_NAME	= breakpad_mac_common_s
-HOST_LIBRARY_NAME = host_breakpad_mac_common_s
 
 LOCAL_INCLUDES 	= -I$(srcdir)/../..
 
-# This is a little weird, but we're building a host and a target lib here.
-# The host lib is used for dump_syms, and the target lib for the
-# crash reporter client.  Therefore, we don't need all the srcs in both.
-CPPSRCS	= \
-  file_id.cc \
-  macho_id.cc \
-  macho_walker.cc \
-  string_utilities.cc \
-  $(NULL)
+CPPSRCS		= \
+		file_id.cc \
+		macho_id.cc \
+		macho_walker.cc \
+		string_utilities.cc \
+		../string_conversion.cc \
+		$(NULL)
 
-CMSRCS = \
-  HTTPMultipartUpload.m \
-  $(NULL)
+CMSRCS		= \
+		HTTPMultipartUpload.m \
+		$(NULL)
 
-HOST_CPPSRCS = $(CPPSRCS)
+CSRCS           = \
+		../convert_UTF.c
 
-HOST_CMMSRCS = \
-  dump_syms.mm \
-  $(NULL)
 
 # need static lib
 FORCE_STATIC_LIB = 1
 
 include $(topsrcdir)/config/rules.mk
deleted file mode 100644
--- a/toolkit/airbag/airbag/src/tools/mac/dump_syms/Makefile.in
+++ /dev/null
@@ -1,68 +0,0 @@
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is Mozilla Breakpad integration
-#
-# The Initial Developer of the Original Code is
-# Ted Mielczarek <ted.mielczarek@gmail.com>
-# Portions created by the Initial Developer are Copyright (C) 2007
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-DEPTH		= ../../../../../../..
-topsrcdir	= @top_srcdir@
-srcdir		= @srcdir@
-VPATH		= @srcdir@
-
-include $(DEPTH)/config/autoconf.mk
-
-HOST_PROGRAM = dump_syms
-
-LOCAL_INCLUDES 	= \
-  -I$(srcdir)/../../.. \
-  -I$(srcdir)/../../../common/mac \
-  $(NULL)
-
-HOST_CMSRCS = \
-  dump_syms_tool.m \
-  $(NULL)
-
-HOST_LIBS += \
-  $(DEPTH)/toolkit/airbag/airbag/src/common/mac/$(LIB_PREFIX)host_breakpad_mac_common_s.$(LIB_SUFFIX) \
-  $(DEPTH)/toolkit/airbag/airbag/src/common/$(LIB_PREFIX)host_breakpad_common_s.$(LIB_SUFFIX) \
-  $(NULL)
-
-HOST_LDFLAGS += \
-  -framework Foundation \
-  -lcrypto \
-  $(NULL)
-
-# force C++ linking
-CPP_PROG_LINK = 1
-
-include $(topsrcdir)/config/rules.mk
--- a/toolkit/airbag/tools/make_symbol_store.pl
+++ b/toolkit/airbag/tools/make_symbol_store.pl
@@ -30,99 +30,79 @@
 # use your version of this file under the terms of the MPL, indicate your
 # decision by deleting the provisions above and replace them with the notice
 # and other provisions required by the GPL or the LGPL. If you do not delete
 # the provisions above, a recipient may use your version of this file under
 # the terms of any one of the MPL, the GPL or the LGPL.
 #
 # ***** END LICENSE BLOCK *****
 #
-# Usage: make_symbol_store.pl <params> <dump_syms path> <symbol store path>
-#                             <debug info files>
-#   Runs dump_syms on each debug info file specified on the command line,
+# Usage: make_symbol_store.pl <params> <dump_syms path> <symbol store path> <pdb files>
+#   Runs dump_syms on each pdb file specified on the command line,
 #   then places the resulting symbol file in the proper directory
-#   structure in the symbol store path.  Accepts multiple files
+#   structure in the symbol store path.  Accepts multiple pdb files
 #   on the command line, so can be called as part of a pipe using
-#   find <dir> | xargs make_symbol_store.pl <dump_syms> <storepath>
+#   find <dir> -name "*.pdb" | xargs make_symbol_store.pl <dump_syms> <storepath>
 #   Parameters accepted:
-#     -c           : Copy debug info files to the same directory structure
-#                    as sym files
-#     -a "<archs>" : Run dump_syms -a <arch> for each space separated
-#                    cpu architecture in <archs> (only on OS X)
+#     -c : Copy pdb files to the same directory structure as sym files
 
 use FileHandle;
 use File::Path;
 use File::Copy;
 use File::Basename;
 
-print "Usage: make_symbol_store.pl <params>" .
-  "<dump_syms path> <storepath> <debug info files>\n"
-  and exit if scalar @ARGV < 3;
+print "Usage: make_symbol_store.pl <dump_syms path> <storepath> <pdb files>>\n" and exit if scalar @ARGV < 3;
 
 # Given a symbol file generated by dump_syms,
 # and a directory to store the resulting symbol path,
 # move the symbol file into the directory structure
-# expected by the breakpad processor.  For details, see:
-# http://google-breakpad.googlecode.com/svn/trunk/src/processor/simple_symbol_supplier.h
+# expected by the airbag processor:
+# file.pdb/GUID+age/file.sym
 sub rename_symbol_file
 {
     my ($symbol_file, $dest_path) = @_;
     my $fh = FileHandle->new($symbol_file, "r");
     return "" unless $fh;
 
     my $line = <$fh>;
-    return "" unless $line;
     $line =~ s/\s*$//;
     $fh->close();
     return "" unless $line =~ m/^MODULE/;
 
-    # the first line of a sym file looks like:
-    # MODULE os cpu identifier debug_file
-    my ($guid,$dbgfile) = (split(/ +/, $line))[3..4];
-    my $newpath = $dest_path . "/" . $dbgfile . "/" . $guid;
+    my ($guid,$age,$dbgfile) = (split(/ +/, $line))[1..3];
+    $guid =~ s/\-//g;
+    my $newpath = $dest_path . "/" . $dbgfile . "/" . uc($guid . $age);
     eval { mkpath($newpath) };
     return "" if $@;
 
     if(move($symbol_file, $newpath)) {
         my $out = $newpath;
         my ($f) = fileparse($symbol_file);
         $out =~ s/^$dest_path//;
         $out =~ s|^/||;
         print "$out/$f\n";
         return $newpath;
     }
 
     return "";
 }
 
-my $copy_dbg = 0;
-my @archs = ('');
-while (@ARGV && $ARGV[0] =~ m/^-/) {
-    my $arg = shift;
-    if ($arg eq '-c') {
-        $copy_dbg = 1;
-    }
-    elsif ($arg eq '-a') {
-        @archs = (split(/\s+/, shift));
-    }
+my $copy_pdbs = 0;
+if($ARGV[0] eq '-c') {
+    $copy_pdbs = 1;
+    shift;
 }
-
 my $dump_syms = shift;
 my $symbol_path = shift;
-foreach my $dbgfile (@ARGV) {
-    next unless -f $dbgfile;
-    # get filename without path or .pdb extension, if it exists
-    my ($sf) = fileparse($dbgfile, ".pdb");
+foreach my $pdbfile (@ARGV) {
+    next unless -f $pdbfile;
+    my ($sf) = fileparse($pdbfile, ".pdb");
     my $symfile = $symbol_path . "/" . $sf . ".sym";
-    foreach my $arch (@archs) {
-      my $a = '';
-      $a = "-a $arch" if $arch ne '';
-      system("${dump_syms} ${a} ${dbgfile} > ${symfile}");
-      my $newpath = rename_symbol_file $symfile, $symbol_path;
-      if ($copy_dbg && $newpath ne "") {
+    system("$dump_syms $pdbfile > $symfile");
+    my $newpath = rename_symbol_file $symfile, $symbol_path;
+    if($copy_pdbs && $newpath ne "") {
         my $out = $newpath;
         $out =~ s/^$symbol_path//;
         $out =~ s|^/||;
         print "$out/${sf}.pdb\n";
-        copy($dbgfile, $newpath);
-      }
+        copy($pdbfile, $newpath);
     }
 }
index d7eeca4c07e6c7ae4f7c208e6d11454e0872cb6e..0705ac8b07a62d55cb4bb3baa66e2f3854727a24
GIT binary patch
literal 17408
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
--- a/toolkit/xre/Makefile.in
+++ b/toolkit/xre/Makefile.in
@@ -195,17 +195,16 @@ ifeq ($(OS_ARCH),WINNT)
 SHARED_LIBRARY_LIBS += \
 	$(DEPTH)/toolkit/airbag/airbag/src/client/windows/handler/$(LIB_PREFIX)exception_handler_s.$(LIB_SUFFIX) \
 	$(DEPTH)/toolkit/airbag/airbag/src/common/windows/$(LIB_PREFIX)breakpad_windows_common_s.$(LIB_SUFFIX)
 endif
 
 ifeq ($(OS_ARCH),Darwin)
 SHARED_LIBRARY_LIBS += \
 	$(DEPTH)/toolkit/airbag/airbag/src/client/mac/handler/$(LIB_PREFIX)exception_handler_s.$(LIB_SUFFIX) \
-	$(DEPTH)/toolkit/airbag/airbag/src/common/$(LIB_PREFIX)breakpad_common_s.$(LIB_SUFFIX) \
 	$(DEPTH)/toolkit/airbag/airbag/src/common/mac/$(LIB_PREFIX)breakpad_mac_common_s.$(LIB_SUFFIX)
 endif
 endif
 
 include $(topsrcdir)/config/rules.mk
 
 ifdef BUILD_STATIC_LIBS
 export::