Backed out changeset e8c01867056a, breakpad update b=510920
authorJosh Aas <joshmoz@gmail.com>
Fri, 04 Sep 2009 00:02:45 -0400
changeset 32223 941346617e4fa0946dea86a611917d7362765d10
parent 32222 e8c01867056a2dea44260030f35f743f73c7e272
child 32224 7c765497179090f4f3f922d32a6f4538308125ba
push id8927
push userjosh@mozilla.com
push dateFri, 04 Sep 2009 04:02:57 +0000
treeherdermozilla-central@941346617e4f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs510920
milestone1.9.3a1pre
backs oute8c01867056a2dea44260030f35f743f73c7e272
Backed out changeset e8c01867056a, breakpad update b=510920
toolkit/crashreporter/google-breakpad/Makefile.am
toolkit/crashreporter/google-breakpad/Makefile.in
toolkit/crashreporter/google-breakpad/aclocal.m4
toolkit/crashreporter/google-breakpad/src/breakpad_googletest_includes.h
toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.cc
toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.h
toolkit/crashreporter/google-breakpad/src/client/linux/handler/minidump_generator.cc
toolkit/crashreporter/google-breakpad/src/client/mac/Breakpad.xcodeproj/project.pbxproj
toolkit/crashreporter/google-breakpad/src/client/mac/Framework/Breakpad.h
toolkit/crashreporter/google-breakpad/src/client/mac/Framework/Breakpad.mm
toolkit/crashreporter/google-breakpad/src/client/mac/Framework/Breakpad_Prefix.pch
toolkit/crashreporter/google-breakpad/src/client/mac/Framework/Info.plist
toolkit/crashreporter/google-breakpad/src/client/mac/Framework/OnDemandServer.h
toolkit/crashreporter/google-breakpad/src/client/mac/Framework/OnDemandServer.mm
toolkit/crashreporter/google-breakpad/src/client/mac/UnitTests-Info.plist
toolkit/crashreporter/google-breakpad/src/client/mac/crash_generation/Inspector.h
toolkit/crashreporter/google-breakpad/src/client/mac/crash_generation/Inspector.mm
toolkit/crashreporter/google-breakpad/src/client/mac/crash_generation/InspectorMain.mm
toolkit/crashreporter/google-breakpad/src/client/mac/gcov/libgcov.a
toolkit/crashreporter/google-breakpad/src/client/mac/handler/exception_handler.cc
toolkit/crashreporter/google-breakpad/src/client/mac/handler/exception_handler.h
toolkit/crashreporter/google-breakpad/src/client/mac/handler/exception_handler_test.cc
toolkit/crashreporter/google-breakpad/src/client/mac/handler/minidump_generator.cc
toolkit/crashreporter/google-breakpad/src/client/mac/handler/minidump_generator.h
toolkit/crashreporter/google-breakpad/src/client/mac/handler/minidump_generator_test.cc
toolkit/crashreporter/google-breakpad/src/client/mac/handler/testcases/testdata/dump_syms_i386_breakpad.sym
toolkit/crashreporter/google-breakpad/src/client/mac/sender/Breakpad.nib/classes.nib
toolkit/crashreporter/google-breakpad/src/client/mac/sender/Breakpad.nib/info.nib
toolkit/crashreporter/google-breakpad/src/client/mac/sender/Breakpad.nib/keyedobjects.nib
toolkit/crashreporter/google-breakpad/src/client/mac/sender/English.lproj/InfoPlist.strings
toolkit/crashreporter/google-breakpad/src/client/mac/sender/English.lproj/Localizable.strings
toolkit/crashreporter/google-breakpad/src/client/mac/sender/ReporterIcon.graffle
toolkit/crashreporter/google-breakpad/src/client/mac/sender/crash_report_sender-Info.plist
toolkit/crashreporter/google-breakpad/src/client/mac/sender/crash_report_sender.h
toolkit/crashreporter/google-breakpad/src/client/mac/sender/crash_report_sender.icns
toolkit/crashreporter/google-breakpad/src/client/mac/sender/crash_report_sender.m
toolkit/crashreporter/google-breakpad/src/client/mac/testapp/Controller.h
toolkit/crashreporter/google-breakpad/src/client/mac/testapp/Controller.m
toolkit/crashreporter/google-breakpad/src/client/mac/testapp/English.lproj/InfoPlist.strings
toolkit/crashreporter/google-breakpad/src/client/mac/testapp/English.lproj/MainMenu.nib/classes.nib
toolkit/crashreporter/google-breakpad/src/client/mac/testapp/English.lproj/MainMenu.nib/info.nib
toolkit/crashreporter/google-breakpad/src/client/mac/testapp/English.lproj/MainMenu.nib/keyedobjects.nib
toolkit/crashreporter/google-breakpad/src/client/mac/testapp/Info.plist
toolkit/crashreporter/google-breakpad/src/client/mac/testapp/TestClass.h
toolkit/crashreporter/google-breakpad/src/client/mac/testapp/TestClass.mm
toolkit/crashreporter/google-breakpad/src/client/mac/testapp/bomb.icns
toolkit/crashreporter/google-breakpad/src/client/mac/testapp/crashInMain
toolkit/crashreporter/google-breakpad/src/client/mac/testapp/crashduringload
toolkit/crashreporter/google-breakpad/src/client/mac/testapp/main.m
toolkit/crashreporter/google-breakpad/src/client/mac/tests/BreakpadFramework_Test.mm
toolkit/crashreporter/google-breakpad/src/client/mac/tests/SimpleStringDictionaryTest.h
toolkit/crashreporter/google-breakpad/src/client/mac/tests/SimpleStringDictionaryTest.mm
toolkit/crashreporter/google-breakpad/src/client/minidump_file_writer_unittest.cc
toolkit/crashreporter/google-breakpad/src/client/windows/crash_generation/crash_generation_server.cc
toolkit/crashreporter/google-breakpad/src/client/windows/crash_generation/crash_generation_server.h
toolkit/crashreporter/google-breakpad/src/client/windows/handler/exception_handler.cc
toolkit/crashreporter/google-breakpad/src/client/windows/handler/exception_handler.h
toolkit/crashreporter/google-breakpad/src/client/windows/sender/crash_report_sender.cc
toolkit/crashreporter/google-breakpad/src/client/windows/sender/crash_report_sender.vcproj
toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc
toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.h
toolkit/crashreporter/google-breakpad/src/common/linux/file_id.cc
toolkit/crashreporter/google-breakpad/src/common/mac/GTMDefines.h
toolkit/crashreporter/google-breakpad/src/common/mac/GTMGarbageCollection.h
toolkit/crashreporter/google-breakpad/src/common/mac/GTMLogger.h
toolkit/crashreporter/google-breakpad/src/common/mac/GTMLogger.m
toolkit/crashreporter/google-breakpad/src/common/mac/MachIPC.h
toolkit/crashreporter/google-breakpad/src/common/mac/MachIPC.mm
toolkit/crashreporter/google-breakpad/src/common/mac/SimpleStringDictionary.h
toolkit/crashreporter/google-breakpad/src/common/mac/SimpleStringDictionary.mm
toolkit/crashreporter/google-breakpad/src/common/mac/testing/GTMSenTestCase.h
toolkit/crashreporter/google-breakpad/src/common/mac/testing/GTMSenTestCase.m
toolkit/crashreporter/google-breakpad/src/common/solaris/dump_symbols.cc
toolkit/crashreporter/google-breakpad/src/common/solaris/file_id.cc
toolkit/crashreporter/google-breakpad/src/common/windows/http_upload.cc
toolkit/crashreporter/google-breakpad/src/common/windows/http_upload.h
toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_cpu_ppc.h
toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/basic_source_line_resolver.h
toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/minidump.h
toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/minidump_processor.h
toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/source_line_resolver_interface.h
toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/symbol_supplier.h
toolkit/crashreporter/google-breakpad/src/processor/basic_source_line_resolver.cc
toolkit/crashreporter/google-breakpad/src/processor/basic_source_line_resolver_unittest.cc
toolkit/crashreporter/google-breakpad/src/processor/contained_range_map-inl.h
toolkit/crashreporter/google-breakpad/src/processor/minidump_processor.cc
toolkit/crashreporter/google-breakpad/src/processor/minidump_processor_unittest.cc
toolkit/crashreporter/google-breakpad/src/processor/minidump_stackwalk.cc
toolkit/crashreporter/google-breakpad/src/processor/simple_symbol_supplier.cc
toolkit/crashreporter/google-breakpad/src/processor/simple_symbol_supplier.h
toolkit/crashreporter/google-breakpad/src/processor/stackwalker.cc
toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/dump_syms.cc
toolkit/crashreporter/google-breakpad/src/tools/mac/crash_report/crash_report.mm
toolkit/crashreporter/google-breakpad/src/tools/mac/crash_report/on_demand_symbol_supplier.h
toolkit/crashreporter/google-breakpad/src/tools/mac/crash_report/on_demand_symbol_supplier.mm
toolkit/crashreporter/google-breakpad/src/tools/windows/symupload/symupload.cc
--- a/toolkit/crashreporter/google-breakpad/Makefile.am
+++ b/toolkit/crashreporter/google-breakpad/Makefile.am
@@ -147,24 +147,17 @@ src_processor_basic_source_line_resolver
 
 src_processor_contained_range_map_unittest_SOURCES = \
 	src/processor/contained_range_map_unittest.cc
 src_processor_contained_range_map_unittest_LDADD = \
 	src/processor/logging.lo \
 	src/processor/pathname_stripper.lo
 
 src_processor_minidump_processor_unittest_SOURCES = \
-	src/processor/minidump_processor_unittest.cc \
-	src/testing/gtest/src/gtest-all.cc \
-	src/testing/src/gmock-all.cc
-src_processor_minidump_processor_unittest_CPPFLAGS = \
-	-I$(top_srcdir)/src/testing/include \
-        -I$(top_srcdir)/src/testing/gtest/include \
-	-I$(top_srcdir)/src/testing/gtest \
-	-I$(top_srcdir)/src/testing
+	src/processor/minidump_processor_unittest.cc
 src_processor_minidump_processor_unittest_LDADD = \
 	src/processor/basic_code_modules.lo \
 	src/processor/basic_source_line_resolver.lo \
 	src/processor/call_stack.lo \
 	src/processor/logging.lo \
 	src/processor/minidump_processor.lo \
 	src/processor/minidump.lo \
 	src/processor/pathname_stripper.lo \
--- a/toolkit/crashreporter/google-breakpad/Makefile.in
+++ b/toolkit/crashreporter/google-breakpad/Makefile.in
@@ -142,19 +142,18 @@ src_processor_contained_range_map_unitte
 	src/processor/logging.lo src/processor/pathname_stripper.lo
 am_src_processor_minidump_dump_OBJECTS =  \
 	src/processor/minidump_dump.$(OBJEXT)
 src_processor_minidump_dump_OBJECTS =  \
 	$(am_src_processor_minidump_dump_OBJECTS)
 src_processor_minidump_dump_DEPENDENCIES =  \
 	src/processor/basic_code_modules.lo src/processor/logging.lo \
 	src/processor/minidump.lo src/processor/pathname_stripper.lo
-am_src_processor_minidump_processor_unittest_OBJECTS = src/processor/src_processor_minidump_processor_unittest-minidump_processor_unittest.$(OBJEXT) \
-	src/testing/gtest/src/src_processor_minidump_processor_unittest-gtest-all.$(OBJEXT) \
-	src/testing/src/src_processor_minidump_processor_unittest-gmock-all.$(OBJEXT)
+am_src_processor_minidump_processor_unittest_OBJECTS =  \
+	src/processor/minidump_processor_unittest.$(OBJEXT)
 src_processor_minidump_processor_unittest_OBJECTS =  \
 	$(am_src_processor_minidump_processor_unittest_OBJECTS)
 src_processor_minidump_processor_unittest_DEPENDENCIES =  \
 	src/processor/basic_code_modules.lo \
 	src/processor/basic_source_line_resolver.lo \
 	src/processor/call_stack.lo src/processor/logging.lo \
 	src/processor/minidump_processor.lo src/processor/minidump.lo \
 	src/processor/pathname_stripper.lo \
@@ -285,17 +284,16 @@ CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
 CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
-DSYMUTIL = @DSYMUTIL@
 ECHO = @ECHO@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
 EXEEXT = @EXEEXT@
 F77 = @F77@
 FFLAGS = @FFLAGS@
@@ -309,27 +307,25 @@ LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
-NMEDIT = @NMEDIT@
 OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
-SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
 VERSION = @VERSION@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
@@ -470,25 +466,17 @@ src_processor_basic_source_line_resolver
 src_processor_contained_range_map_unittest_SOURCES = \
 	src/processor/contained_range_map_unittest.cc
 
 src_processor_contained_range_map_unittest_LDADD = \
 	src/processor/logging.lo \
 	src/processor/pathname_stripper.lo
 
 src_processor_minidump_processor_unittest_SOURCES = \
-	src/processor/minidump_processor_unittest.cc \
-	src/testing/gtest/src/gtest-all.cc \
-	src/testing/src/gmock-all.cc
-
-src_processor_minidump_processor_unittest_CPPFLAGS = \
-	-I$(top_srcdir)/src/testing/include \
-        -I$(top_srcdir)/src/testing/gtest/include \
-	-I$(top_srcdir)/src/testing/gtest \
-	-I$(top_srcdir)/src/testing
+	src/processor/minidump_processor_unittest.cc
 
 src_processor_minidump_processor_unittest_LDADD = \
 	src/processor/basic_code_modules.lo \
 	src/processor/basic_source_line_resolver.lo \
 	src/processor/call_stack.lo \
 	src/processor/logging.lo \
 	src/processor/minidump_processor.lo \
 	src/processor/minidump.lo \
@@ -878,37 +866,19 @@ src/processor/contained_range_map_unitte
 src/processor/contained_range_map_unittest$(EXEEXT): $(src_processor_contained_range_map_unittest_OBJECTS) $(src_processor_contained_range_map_unittest_DEPENDENCIES) src/processor/$(am__dirstamp)
 	@rm -f src/processor/contained_range_map_unittest$(EXEEXT)
 	$(CXXLINK) $(src_processor_contained_range_map_unittest_OBJECTS) $(src_processor_contained_range_map_unittest_LDADD) $(LIBS)
 src/processor/minidump_dump.$(OBJEXT): src/processor/$(am__dirstamp) \
 	src/processor/$(DEPDIR)/$(am__dirstamp)
 src/processor/minidump_dump$(EXEEXT): $(src_processor_minidump_dump_OBJECTS) $(src_processor_minidump_dump_DEPENDENCIES) src/processor/$(am__dirstamp)
 	@rm -f src/processor/minidump_dump$(EXEEXT)
 	$(CXXLINK) $(src_processor_minidump_dump_OBJECTS) $(src_processor_minidump_dump_LDADD) $(LIBS)
-src/processor/src_processor_minidump_processor_unittest-minidump_processor_unittest.$(OBJEXT):  \
+src/processor/minidump_processor_unittest.$(OBJEXT):  \
 	src/processor/$(am__dirstamp) \
 	src/processor/$(DEPDIR)/$(am__dirstamp)
-src/testing/gtest/src/$(am__dirstamp):
-	@$(MKDIR_P) src/testing/gtest/src
-	@: > src/testing/gtest/src/$(am__dirstamp)
-src/testing/gtest/src/$(DEPDIR)/$(am__dirstamp):
-	@$(MKDIR_P) src/testing/gtest/src/$(DEPDIR)
-	@: > src/testing/gtest/src/$(DEPDIR)/$(am__dirstamp)
-src/testing/gtest/src/src_processor_minidump_processor_unittest-gtest-all.$(OBJEXT):  \
-	src/testing/gtest/src/$(am__dirstamp) \
-	src/testing/gtest/src/$(DEPDIR)/$(am__dirstamp)
-src/testing/src/$(am__dirstamp):
-	@$(MKDIR_P) src/testing/src
-	@: > src/testing/src/$(am__dirstamp)
-src/testing/src/$(DEPDIR)/$(am__dirstamp):
-	@$(MKDIR_P) src/testing/src/$(DEPDIR)
-	@: > src/testing/src/$(DEPDIR)/$(am__dirstamp)
-src/testing/src/src_processor_minidump_processor_unittest-gmock-all.$(OBJEXT):  \
-	src/testing/src/$(am__dirstamp) \
-	src/testing/src/$(DEPDIR)/$(am__dirstamp)
 src/processor/minidump_processor_unittest$(EXEEXT): $(src_processor_minidump_processor_unittest_OBJECTS) $(src_processor_minidump_processor_unittest_DEPENDENCIES) src/processor/$(am__dirstamp)
 	@rm -f src/processor/minidump_processor_unittest$(EXEEXT)
 	$(CXXLINK) $(src_processor_minidump_processor_unittest_OBJECTS) $(src_processor_minidump_processor_unittest_LDADD) $(LIBS)
 src/processor/minidump_stackwalk.$(OBJEXT):  \
 	src/processor/$(am__dirstamp) \
 	src/processor/$(DEPDIR)/$(am__dirstamp)
 src/processor/minidump_stackwalk$(EXEEXT): $(src_processor_minidump_stackwalk_OBJECTS) $(src_processor_minidump_stackwalk_DEPENDENCIES) src/processor/$(am__dirstamp)
 	@rm -f src/processor/minidump_stackwalk$(EXEEXT)
@@ -951,70 +921,66 @@ mostlyclean-compile:
 	-rm -f src/processor/contained_range_map_unittest.$(OBJEXT)
 	-rm -f src/processor/logging.$(OBJEXT)
 	-rm -f src/processor/logging.lo
 	-rm -f src/processor/minidump.$(OBJEXT)
 	-rm -f src/processor/minidump.lo
 	-rm -f src/processor/minidump_dump.$(OBJEXT)
 	-rm -f src/processor/minidump_processor.$(OBJEXT)
 	-rm -f src/processor/minidump_processor.lo
+	-rm -f src/processor/minidump_processor_unittest.$(OBJEXT)
 	-rm -f src/processor/minidump_stackwalk.$(OBJEXT)
 	-rm -f src/processor/pathname_stripper.$(OBJEXT)
 	-rm -f src/processor/pathname_stripper.lo
 	-rm -f src/processor/pathname_stripper_unittest.$(OBJEXT)
 	-rm -f src/processor/postfix_evaluator_unittest.$(OBJEXT)
 	-rm -f src/processor/process_state.$(OBJEXT)
 	-rm -f src/processor/process_state.lo
 	-rm -f src/processor/range_map_unittest.$(OBJEXT)
 	-rm -f src/processor/simple_symbol_supplier.$(OBJEXT)
 	-rm -f src/processor/simple_symbol_supplier.lo
-	-rm -f src/processor/src_processor_minidump_processor_unittest-minidump_processor_unittest.$(OBJEXT)
 	-rm -f src/processor/stackwalker.$(OBJEXT)
 	-rm -f src/processor/stackwalker.lo
 	-rm -f src/processor/stackwalker_amd64.$(OBJEXT)
 	-rm -f src/processor/stackwalker_amd64.lo
 	-rm -f src/processor/stackwalker_ppc.$(OBJEXT)
 	-rm -f src/processor/stackwalker_ppc.lo
 	-rm -f src/processor/stackwalker_selftest.$(OBJEXT)
 	-rm -f src/processor/stackwalker_sparc.$(OBJEXT)
 	-rm -f src/processor/stackwalker_sparc.lo
 	-rm -f src/processor/stackwalker_x86.$(OBJEXT)
 	-rm -f src/processor/stackwalker_x86.lo
-	-rm -f src/testing/gtest/src/src_processor_minidump_processor_unittest-gtest-all.$(OBJEXT)
-	-rm -f src/testing/src/src_processor_minidump_processor_unittest-gmock-all.$(OBJEXT)
 
 distclean-compile:
 	-rm -f *.tab.c
 
 @AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/address_map_unittest.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/basic_code_modules.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/basic_source_line_resolver.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/basic_source_line_resolver_unittest.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/call_stack.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/contained_range_map_unittest.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/logging.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/minidump.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/minidump_dump.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/minidump_processor.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/minidump_processor_unittest.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/minidump_stackwalk.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/pathname_stripper.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/pathname_stripper_unittest.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/postfix_evaluator_unittest.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/process_state.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/range_map_unittest.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/simple_symbol_supplier.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/src_processor_minidump_processor_unittest-minidump_processor_unittest.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/stackwalker.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/stackwalker_amd64.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/stackwalker_ppc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/stackwalker_selftest.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/stackwalker_sparc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/stackwalker_x86.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/testing/gtest/src/$(DEPDIR)/src_processor_minidump_processor_unittest-gtest-all.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/testing/src/$(DEPDIR)/src_processor_minidump_processor_unittest-gmock-all.Po@am__quote@
 
 .cc.o:
 @am__fastdepCXX_TRUE@	depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
 @am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
 @am__fastdepCXX_TRUE@	mv -f $$depbase.Tpo $$depbase.Po
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
@@ -1030,58 +996,16 @@ distclean-compile:
 .cc.lo:
 @am__fastdepCXX_TRUE@	depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
 @am__fastdepCXX_TRUE@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
 @am__fastdepCXX_TRUE@	mv -f $$depbase.Tpo $$depbase.Plo
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
 
-src/processor/src_processor_minidump_processor_unittest-minidump_processor_unittest.o: src/processor/minidump_processor_unittest.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_processor_minidump_processor_unittest_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/processor/src_processor_minidump_processor_unittest-minidump_processor_unittest.o -MD -MP -MF src/processor/$(DEPDIR)/src_processor_minidump_processor_unittest-minidump_processor_unittest.Tpo -c -o src/processor/src_processor_minidump_processor_unittest-minidump_processor_unittest.o `test -f 'src/processor/minidump_processor_unittest.cc' || echo '$(srcdir)/'`src/processor/minidump_processor_unittest.cc
-@am__fastdepCXX_TRUE@	mv -f src/processor/$(DEPDIR)/src_processor_minidump_processor_unittest-minidump_processor_unittest.Tpo src/processor/$(DEPDIR)/src_processor_minidump_processor_unittest-minidump_processor_unittest.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/processor/minidump_processor_unittest.cc' object='src/processor/src_processor_minidump_processor_unittest-minidump_processor_unittest.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_processor_minidump_processor_unittest_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/processor/src_processor_minidump_processor_unittest-minidump_processor_unittest.o `test -f 'src/processor/minidump_processor_unittest.cc' || echo '$(srcdir)/'`src/processor/minidump_processor_unittest.cc
-
-src/processor/src_processor_minidump_processor_unittest-minidump_processor_unittest.obj: src/processor/minidump_processor_unittest.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_processor_minidump_processor_unittest_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/processor/src_processor_minidump_processor_unittest-minidump_processor_unittest.obj -MD -MP -MF src/processor/$(DEPDIR)/src_processor_minidump_processor_unittest-minidump_processor_unittest.Tpo -c -o src/processor/src_processor_minidump_processor_unittest-minidump_processor_unittest.obj `if test -f 'src/processor/minidump_processor_unittest.cc'; then $(CYGPATH_W) 'src/processor/minidump_processor_unittest.cc'; else $(CYGPATH_W) '$(srcdir)/src/processor/minidump_processor_unittest.cc'; fi`
-@am__fastdepCXX_TRUE@	mv -f src/processor/$(DEPDIR)/src_processor_minidump_processor_unittest-minidump_processor_unittest.Tpo src/processor/$(DEPDIR)/src_processor_minidump_processor_unittest-minidump_processor_unittest.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/processor/minidump_processor_unittest.cc' object='src/processor/src_processor_minidump_processor_unittest-minidump_processor_unittest.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_processor_minidump_processor_unittest_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/processor/src_processor_minidump_processor_unittest-minidump_processor_unittest.obj `if test -f 'src/processor/minidump_processor_unittest.cc'; then $(CYGPATH_W) 'src/processor/minidump_processor_unittest.cc'; else $(CYGPATH_W) '$(srcdir)/src/processor/minidump_processor_unittest.cc'; fi`
-
-src/testing/gtest/src/src_processor_minidump_processor_unittest-gtest-all.o: src/testing/gtest/src/gtest-all.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_processor_minidump_processor_unittest_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/testing/gtest/src/src_processor_minidump_processor_unittest-gtest-all.o -MD -MP -MF src/testing/gtest/src/$(DEPDIR)/src_processor_minidump_processor_unittest-gtest-all.Tpo -c -o src/testing/gtest/src/src_processor_minidump_processor_unittest-gtest-all.o `test -f 'src/testing/gtest/src/gtest-all.cc' || echo '$(srcdir)/'`src/testing/gtest/src/gtest-all.cc
-@am__fastdepCXX_TRUE@	mv -f src/testing/gtest/src/$(DEPDIR)/src_processor_minidump_processor_unittest-gtest-all.Tpo src/testing/gtest/src/$(DEPDIR)/src_processor_minidump_processor_unittest-gtest-all.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/testing/gtest/src/gtest-all.cc' object='src/testing/gtest/src/src_processor_minidump_processor_unittest-gtest-all.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_processor_minidump_processor_unittest_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/testing/gtest/src/src_processor_minidump_processor_unittest-gtest-all.o `test -f 'src/testing/gtest/src/gtest-all.cc' || echo '$(srcdir)/'`src/testing/gtest/src/gtest-all.cc
-
-src/testing/gtest/src/src_processor_minidump_processor_unittest-gtest-all.obj: src/testing/gtest/src/gtest-all.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_processor_minidump_processor_unittest_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/testing/gtest/src/src_processor_minidump_processor_unittest-gtest-all.obj -MD -MP -MF src/testing/gtest/src/$(DEPDIR)/src_processor_minidump_processor_unittest-gtest-all.Tpo -c -o src/testing/gtest/src/src_processor_minidump_processor_unittest-gtest-all.obj `if test -f 'src/testing/gtest/src/gtest-all.cc'; then $(CYGPATH_W) 'src/testing/gtest/src/gtest-all.cc'; else $(CYGPATH_W) '$(srcdir)/src/testing/gtest/src/gtest-all.cc'; fi`
-@am__fastdepCXX_TRUE@	mv -f src/testing/gtest/src/$(DEPDIR)/src_processor_minidump_processor_unittest-gtest-all.Tpo src/testing/gtest/src/$(DEPDIR)/src_processor_minidump_processor_unittest-gtest-all.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/testing/gtest/src/gtest-all.cc' object='src/testing/gtest/src/src_processor_minidump_processor_unittest-gtest-all.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_processor_minidump_processor_unittest_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/testing/gtest/src/src_processor_minidump_processor_unittest-gtest-all.obj `if test -f 'src/testing/gtest/src/gtest-all.cc'; then $(CYGPATH_W) 'src/testing/gtest/src/gtest-all.cc'; else $(CYGPATH_W) '$(srcdir)/src/testing/gtest/src/gtest-all.cc'; fi`
-
-src/testing/src/src_processor_minidump_processor_unittest-gmock-all.o: src/testing/src/gmock-all.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_processor_minidump_processor_unittest_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/testing/src/src_processor_minidump_processor_unittest-gmock-all.o -MD -MP -MF src/testing/src/$(DEPDIR)/src_processor_minidump_processor_unittest-gmock-all.Tpo -c -o src/testing/src/src_processor_minidump_processor_unittest-gmock-all.o `test -f 'src/testing/src/gmock-all.cc' || echo '$(srcdir)/'`src/testing/src/gmock-all.cc
-@am__fastdepCXX_TRUE@	mv -f src/testing/src/$(DEPDIR)/src_processor_minidump_processor_unittest-gmock-all.Tpo src/testing/src/$(DEPDIR)/src_processor_minidump_processor_unittest-gmock-all.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/testing/src/gmock-all.cc' object='src/testing/src/src_processor_minidump_processor_unittest-gmock-all.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_processor_minidump_processor_unittest_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/testing/src/src_processor_minidump_processor_unittest-gmock-all.o `test -f 'src/testing/src/gmock-all.cc' || echo '$(srcdir)/'`src/testing/src/gmock-all.cc
-
-src/testing/src/src_processor_minidump_processor_unittest-gmock-all.obj: src/testing/src/gmock-all.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_processor_minidump_processor_unittest_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/testing/src/src_processor_minidump_processor_unittest-gmock-all.obj -MD -MP -MF src/testing/src/$(DEPDIR)/src_processor_minidump_processor_unittest-gmock-all.Tpo -c -o src/testing/src/src_processor_minidump_processor_unittest-gmock-all.obj `if test -f 'src/testing/src/gmock-all.cc'; then $(CYGPATH_W) 'src/testing/src/gmock-all.cc'; else $(CYGPATH_W) '$(srcdir)/src/testing/src/gmock-all.cc'; fi`
-@am__fastdepCXX_TRUE@	mv -f src/testing/src/$(DEPDIR)/src_processor_minidump_processor_unittest-gmock-all.Tpo src/testing/src/$(DEPDIR)/src_processor_minidump_processor_unittest-gmock-all.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/testing/src/gmock-all.cc' object='src/testing/src/src_processor_minidump_processor_unittest-gmock-all.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_processor_minidump_processor_unittest_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/testing/src/src_processor_minidump_processor_unittest-gmock-all.obj `if test -f 'src/testing/src/gmock-all.cc'; then $(CYGPATH_W) 'src/testing/src/gmock-all.cc'; else $(CYGPATH_W) '$(srcdir)/src/testing/src/gmock-all.cc'; fi`
-
 mostlyclean-libtool:
 	-rm -f *.lo
 
 clean-libtool:
 	-rm -rf .libs _libs
 	-rm -rf src/.libs src/_libs
 	-rm -rf src/processor/.libs src/processor/_libs
 
@@ -1380,33 +1304,29 @@ mostlyclean-generic:
 
 clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
 	-rm -f src/$(am__dirstamp)
 	-rm -f src/processor/$(DEPDIR)/$(am__dirstamp)
 	-rm -f src/processor/$(am__dirstamp)
-	-rm -f src/testing/gtest/src/$(DEPDIR)/$(am__dirstamp)
-	-rm -f src/testing/gtest/src/$(am__dirstamp)
-	-rm -f src/testing/src/$(DEPDIR)/$(am__dirstamp)
-	-rm -f src/testing/src/$(am__dirstamp)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
 	@echo "it deletes files that may require special tools to rebuild."
 clean: clean-am
 
 clean-am: clean-binPROGRAMS clean-checkPROGRAMS clean-generic \
 	clean-libLTLIBRARIES clean-libtool clean-noinstPROGRAMS \
 	mostlyclean-am
 
 distclean: distclean-am
 	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-	-rm -rf src/processor/$(DEPDIR) src/testing/gtest/src/$(DEPDIR) src/testing/src/$(DEPDIR)
+	-rm -rf src/processor/$(DEPDIR)
 	-rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
 	distclean-hdr distclean-libtool distclean-tags
 
 dvi: dvi-am
 
 dvi-am:
 
@@ -1432,17 +1352,17 @@ install-pdf: install-pdf-am
 
 install-ps: install-ps-am
 
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
 	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
 	-rm -rf $(top_srcdir)/autom4te.cache
-	-rm -rf src/processor/$(DEPDIR) src/testing/gtest/src/$(DEPDIR) src/testing/src/$(DEPDIR)
+	-rm -rf src/processor/$(DEPDIR)
 	-rm -f Makefile
 maintainer-clean-am: distclean-am maintainer-clean-generic
 
 mostlyclean: mostlyclean-am
 
 mostlyclean-am: mostlyclean-compile mostlyclean-generic \
 	mostlyclean-libtool
 
--- a/toolkit/crashreporter/google-breakpad/aclocal.m4
+++ b/toolkit/crashreporter/google-breakpad/aclocal.m4
@@ -13,17 +13,17 @@
 
 m4_if(m4_PACKAGE_VERSION, [2.61],,
 [m4_fatal([this file was generated for autoconf 2.61.
 You have another version of autoconf.  If you want to use that,
 you should regenerate the build system entirely.], [63])])
 
 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
 
-# serial 52 AC_PROG_LIBTOOL
+# serial 48 AC_PROG_LIBTOOL
 
 
 # AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
 # -----------------------------------------------------------
 # If this macro is not defined by Autoconf, define it here.
 m4_ifdef([AC_PROVIDE_IFELSE],
          [],
          [m4_define([AC_PROVIDE_IFELSE],
@@ -101,16 +101,17 @@ AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
 AC_REQUIRE([AC_PROG_NM])dnl
 
 AC_REQUIRE([AC_PROG_LN_S])dnl
 AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
 # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
 AC_REQUIRE([AC_OBJEXT])dnl
 AC_REQUIRE([AC_EXEEXT])dnl
 dnl
+
 AC_LIBTOOL_SYS_MAX_CMD_LEN
 AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
 AC_LIBTOOL_OBJDIR
 
 AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
 _LT_AC_PROG_ECHO_BACKSLASH
 
 case $host_os in
@@ -175,17 +176,17 @@ test -z "$MAGIC_CMD" && MAGIC_CMD=file
 test -z "$NM" && NM=nm
 test -z "$SED" && SED=sed
 test -z "$OBJDUMP" && OBJDUMP=objdump
 test -z "$RANLIB" && RANLIB=:
 test -z "$STRIP" && STRIP=:
 test -z "$ac_objext" && ac_objext=o
 
 # Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
 old_postinstall_cmds='chmod 644 $oldlib'
 old_postuninstall_cmds=
 
 if test -n "$RANLIB"; then
   case $host_os in
   openbsd*)
     old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
     ;;
@@ -202,18 +203,16 @@ fi
 case $deplibs_check_method in
 file_magic*)
   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
     AC_PATH_MAGIC
   fi
   ;;
 esac
 
-_LT_REQUIRED_DARWIN_CHECKS
-
 AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
 AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
 enable_win32_dll=yes, enable_win32_dll=no)
 
 AC_ARG_ENABLE([libtool-lock],
     [AC_HELP_STRING([--disable-libtool-lock],
 	[avoid locking (might break parallel builds)])])
 test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
@@ -264,133 +263,52 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -
 ])
 
 
 # _LT_COMPILER_BOILERPLATE
 # ------------------------
 # Check for compiler boilerplate output or warnings with
 # the simple compiler test code.
 AC_DEFUN([_LT_COMPILER_BOILERPLATE],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+[ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_compiler_boilerplate=`cat conftest.err`
 $rm conftest*
 ])# _LT_COMPILER_BOILERPLATE
 
 
 # _LT_LINKER_BOILERPLATE
 # ----------------------
 # Check for linker boilerplate output or warnings with
 # the simple link test code.
 AC_DEFUN([_LT_LINKER_BOILERPLATE],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
+[ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_linker_boilerplate=`cat conftest.err`
-$rm -r conftest*
+$rm conftest*
 ])# _LT_LINKER_BOILERPLATE
 
-# _LT_REQUIRED_DARWIN_CHECKS
-# --------------------------
-# Check for some things on darwin
-AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS],[
-  case $host_os in
-    rhapsody* | darwin*)
-    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
-    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
-
-    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
-      [lt_cv_apple_cc_single_mod=no
-      if test -z "${LT_MULTI_MODULE}"; then
-   # By default we will add the -single_module flag. You can override
-   # by either setting the environment variable LT_MULTI_MODULE
-   # non-empty at configure time, or by adding -multi_module to the
-   # link flags.
-   echo "int foo(void){return 1;}" > conftest.c
-   $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-     -dynamiclib ${wl}-single_module conftest.c
-   if test -f libconftest.dylib; then
-     lt_cv_apple_cc_single_mod=yes
-     rm -rf libconftest.dylib*
-   fi
-   rm conftest.c
-      fi])
-    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
-      [lt_cv_ld_exported_symbols_list],
-      [lt_cv_ld_exported_symbols_list=no
-      save_LDFLAGS=$LDFLAGS
-      echo "_main" > conftest.sym
-      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
-      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
-   [lt_cv_ld_exported_symbols_list=yes],
-   [lt_cv_ld_exported_symbols_list=no])
-   LDFLAGS="$save_LDFLAGS"
-    ])
-    case $host_os in
-    rhapsody* | darwin1.[[0123]])
-      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
-    darwin1.*)
-     _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-    darwin*)
-      # if running on 10.5 or later, the deployment target defaults
-      # to the OS version, if on x86, and 10.4, the deployment
-      # target defaults to 10.4. Don't you love it?
-      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-   10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
-     _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-   10.[[012]]*)
-     _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-   10.*)
-     _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-      esac
-    ;;
-  esac
-    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
-      _lt_dar_single_mod='$single_module'
-    fi
-    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
-      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
-    else
-      _lt_dar_export_syms="~$NMEDIT -s \$output_objdir/\${libname}-symbols.expsym \${lib}"
-    fi
-    if test "$DSYMUTIL" != ":"; then
-      _lt_dsymutil="~$DSYMUTIL \$lib || :"
-    else
-      _lt_dsymutil=
-    fi
-    ;;
-  esac
-])
 
 # _LT_AC_SYS_LIBPATH_AIX
 # ----------------------
 # Links a minimal program and checks the executable
 # for the system default hardcoded library path. In most cases,
 # this is /usr/lib:/lib, but when the MPI compilers are used
 # the location of the communication and MPI libs are included too.
 # If we don't find anything, use the default library path according
 # to the aix ld manual.
 AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_LINK_IFELSE(AC_LANG_PROGRAM,[
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-	/^0/ {
-	    s/^0  *\(.*\)$/\1/
-	    p
-	}
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+[AC_LINK_IFELSE(AC_LANG_PROGRAM,[
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`
 # Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi],[])
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`; fi],[])
 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 ])# _LT_AC_SYS_LIBPATH_AIX
 
 
 # _LT_AC_SHELL_INIT(ARG)
 # ----------------------
 AC_DEFUN([_LT_AC_SHELL_INIT],
 [ifdef([AC_DIVERSION_NOTICE],
@@ -611,46 +529,39 @@ ia64-*-hpux*)
       LD="${LD-ld} -64"
       ;;
     esac
    fi
   fi
   rm -rf conftest*
   ;;
 
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|sparc*-*linux*)
+x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
   # Find out which ABI we are using.
   echo 'int i;' > conftest.$ac_ext
   if AC_TRY_EVAL(ac_compile); then
     case `/usr/bin/file conftest.o` in
     *32-bit*)
       case $host in
-        x86_64-*kfreebsd*-gnu)
-          LD="${LD-ld} -m elf_i386_fbsd"
-          ;;
         x86_64-*linux*)
           LD="${LD-ld} -m elf_i386"
           ;;
         ppc64-*linux*|powerpc64-*linux*)
           LD="${LD-ld} -m elf32ppclinux"
           ;;
         s390x-*linux*)
           LD="${LD-ld} -m elf_s390"
           ;;
         sparc64-*linux*)
           LD="${LD-ld} -m elf32_sparc"
           ;;
       esac
       ;;
     *64-bit*)
       case $host in
-        x86_64-*kfreebsd*-gnu)
-          LD="${LD-ld} -m elf_x86_64_fbsd"
-          ;;
         x86_64-*linux*)
           LD="${LD-ld} -m elf_x86_64"
           ;;
         ppc*-*linux*|powerpc*-*linux*)
           LD="${LD-ld} -m elf64ppc"
           ;;
         s390*-*linux*)
           LD="${LD-ld} -m elf64_s390"
@@ -681,21 +592,17 @@ s390*-*linux*|sparc*-*linux*)
 sparc*-*solaris*)
   # Find out which ABI we are using.
   echo 'int i;' > conftest.$ac_ext
   if AC_TRY_EVAL(ac_compile); then
     case `/usr/bin/file conftest.o` in
     *64-bit*)
       case $lt_cv_prog_gnu_ld in
       yes*) LD="${LD-ld} -m elf64_sparc" ;;
-      *)
-        if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-	  LD="${LD-ld} -64"
-	fi
-	;;
+      *)    LD="${LD-ld} -64" ;;
       esac
       ;;
     esac
   fi
   rm -rf conftest*
   ;;
 
 AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
@@ -716,17 +623,17 @@ need_locks="$enable_libtool_lock"
 #		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
 # ----------------------------------------------------------------
 # Check whether the given compiler option works
 AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
 [AC_REQUIRE([LT_AC_PROG_SED])
 AC_CACHE_CHECK([$1], [$2],
   [$2=no
   ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
    lt_compiler_flag="$3"
    # Insert the option either (1) after the last *FLAGS variable, or
    # (2) before a word containing "conftest.", or (3) at the end.
    # Note that $ac_compile itself does not contain backslashes and begins
    # with a dollar sign (not a hyphen), so the echo should work correctly.
    # The option is referenced via a variable to avoid confusing sed.
    lt_compile=`echo "$ac_compile" | $SED \
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
@@ -757,38 +664,37 @@ fi
 ])# AC_LIBTOOL_COMPILER_OPTION
 
 
 # AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
 #                          [ACTION-SUCCESS], [ACTION-FAILURE])
 # ------------------------------------------------------------
 # Check whether the given compiler option works
 AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_CACHE_CHECK([$1], [$2],
+[AC_CACHE_CHECK([$1], [$2],
   [$2=no
    save_LDFLAGS="$LDFLAGS"
    LDFLAGS="$LDFLAGS $3"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
+   printf "$lt_simple_link_test_code" > conftest.$ac_ext
    if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
      # The linker can only warn and ignore the option if not recognized
      # So say no if there are warnings
      if test -s conftest.err; then
        # Append any errors to the config.log.
        cat conftest.err 1>&AS_MESSAGE_LOG_FD
        $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
        $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
        if diff conftest.exp conftest.er2 >/dev/null; then
          $2=yes
        fi
      else
        $2=yes
      fi
    fi
-   $rm -r conftest*
+   $rm conftest*
    LDFLAGS="$save_LDFLAGS"
 ])
 
 if test x"[$]$2" = xyes; then
     ifelse([$4], , :, [$4])
 else
     ifelse([$5], , :, [$5])
 fi
@@ -876,37 +782,34 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [d
     kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
     if test -n "$kargmax"; then
       lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ 	]]//'`
     else
       lt_cv_sys_max_cmd_len=32768
     fi
     ;;
   *)
-    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    else
-      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-      while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
+    # If test is not a shell built-in, we'll probably end up computing a
+    # maximum length that is only half of the actual maximum length, but
+    # we can't tell.
+    SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+    while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
 	       = "XX$teststring") >/dev/null 2>&1 &&
-	      new_result=`expr "X$teststring" : ".*" 2>&1` &&
-	      lt_cv_sys_max_cmd_len=$new_result &&
-	      test $i != 17 # 1/2 MB should be enough
-      do
-        i=`expr $i + 1`
-        teststring=$teststring$teststring
-      done
-      teststring=
-      # Add a significant safety factor because C++ compilers can tack on massive
-      # amounts of additional arguments before passing them to the linker.
-      # It appears as though 1/2 is a usable value.
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
-    fi
+	    new_result=`expr "X$teststring" : ".*" 2>&1` &&
+	    lt_cv_sys_max_cmd_len=$new_result &&
+	    test $i != 17 # 1/2 MB should be enough
+    do
+      i=`expr $i + 1`
+      teststring=$teststring$teststring
+    done
+    teststring=
+    # Add a significant safety factor because C++ compilers can tack on massive
+    # amounts of additional arguments before passing them to the linker.
+    # It appears as though 1/2 is a usable value.
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
     ;;
   esac
 ])
 if test -n $lt_cv_sys_max_cmd_len ; then
   AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
 else
   AC_MSG_RESULT(none)
 fi
@@ -1049,25 +952,25 @@ else
     lt_cv_dlopen_self=yes
     ])
    ;;
 
   *)
     AC_CHECK_FUNC([shl_load],
 	  [lt_cv_dlopen="shl_load"],
       [AC_CHECK_LIB([dld], [shl_load],
-	    [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
+	    [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"],
 	[AC_CHECK_FUNC([dlopen],
 	      [lt_cv_dlopen="dlopen"],
 	  [AC_CHECK_LIB([dl], [dlopen],
 		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
 	    [AC_CHECK_LIB([svld], [dlopen],
 		  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
 	      [AC_CHECK_LIB([dld], [dld_link],
-		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
+		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
 	      ])
 	    ])
 	  ])
 	])
       ])
     ;;
   esac
 
@@ -1123,26 +1026,25 @@ else
 fi
 ])# AC_LIBTOOL_DLOPEN_SELF
 
 
 # AC_LIBTOOL_PROG_CC_C_O([TAGNAME])
 # ---------------------------------
 # Check to see if options -c and -o are simultaneously supported by compiler
 AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
 AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
   [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
   [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
    $rm -r conftest 2>/dev/null
    mkdir conftest
    cd conftest
    mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
 
    lt_compiler_flag="-o out/conftest2.$ac_objext"
    # Insert the option either (1) after the last *FLAGS variable, or
    # (2) before a word containing "conftest.", or (3) at the end.
    # Note that $ac_compile itself does not contain backslashes and begins
    # with a dollar sign (not a hyphen), so the echo should work correctly.
    lt_compile=`echo "$ac_compile" | $SED \
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
@@ -1272,17 +1174,16 @@ if test -n "$STRIP" && $STRIP -V 2>&1 | 
   test -z "$striplib" && striplib="$STRIP --strip-unneeded"
   AC_MSG_RESULT([yes])
 else
 # FIXME - insert some real tests, host_os isn't really good enough
   case $host_os in
    darwin*)
        if test -n "$STRIP" ; then
          striplib="$STRIP -x"
-         old_striplib="$STRIP -S"
          AC_MSG_RESULT([yes])
        else
   AC_MSG_RESULT([no])
 fi
        ;;
    *)
   AC_MSG_RESULT([no])
     ;;
@@ -1290,83 +1191,44 @@ fi
 fi
 ])# AC_LIBTOOL_SYS_LIB_STRIP
 
 
 # AC_LIBTOOL_SYS_DYNAMIC_LINKER
 # -----------------------------
 # PORTME Fill in your ld.so characteristics
 AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_MSG_CHECKING([dynamic linker characteristics])
+[AC_MSG_CHECKING([dynamic linker characteristics])
 library_names_spec=
 libname_spec='lib$name'
 soname_spec=
 shrext_cmds=".so"
 postinstall_cmds=
 postuninstall_cmds=
 finish_cmds=
 finish_eval=
 shlibpath_var=
 shlibpath_overrides_runpath=unknown
 version_type=none
 dynamic_linker="$host_os ld.so"
 sys_lib_dlsearch_path_spec="/lib /usr/lib"
-m4_if($1,[],[
 if test "$GCC" = yes; then
-  case $host_os in
-    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
-    *) lt_awk_arg="/^libraries:/" ;;
-  esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-  if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then
+  sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+  if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
     # if the path contains ";" then we assume it to be the separator
     # otherwise default to the standard path separator (i.e. ":") - it is
     # assumed that no part of a normal pathname contains ";" but that should
     # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'`
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
   else
-    lt_search_path_spec=`echo "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
   fi
-  # Ok, now we have the path, separated by spaces, we can step through it
-  # and add multilib dir if necessary.
-  lt_tmp_lt_search_path_spec=
-  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
-  for lt_sys_path in $lt_search_path_spec; do
-    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
-      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
-    else
-      test -d "$lt_sys_path" && \
-	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
-    fi
-  done
-  lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk '
-BEGIN {RS=" "; FS="/|\n";} {
-  lt_foo="";
-  lt_count=0;
-  for (lt_i = NF; lt_i > 0; lt_i--) {
-    if ($lt_i != "" && $lt_i != ".") {
-      if ($lt_i == "..") {
-        lt_count++;
-      } else {
-        if (lt_count == 0) {
-          lt_foo="/" $lt_i lt_foo;
-        } else {
-          lt_count--;
-        }
-      }
-    }
-  }
-  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
-  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
-}'`
-  sys_lib_search_path_spec=`echo $lt_search_path_spec`
 else
   sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi])
+fi
 need_lib_prefix=unknown
 hardcode_into_libs=no
 
 # when you set need_version to no, make sure it does not cause -set_version
 # flags to be left without arguments
 need_version=unknown
 
 case $host_os in
@@ -1374,17 +1236,17 @@ aix3*)
   version_type=linux
   library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
   shlibpath_var=LIBPATH
 
   # AIX 3 has no versioning support, so we append a major version to the name.
   soname_spec='${libname}${release}${shared_ext}$major'
   ;;
 
-aix[[4-9]]*)
+aix4* | aix5*)
   version_type=linux
   need_lib_prefix=no
   need_version=no
   hardcode_into_libs=yes
   if test "$host_cpu" = ia64; then
     # AIX 5 supports IA64
     library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
     shlibpath_var=LD_LIBRARY_PATH
@@ -1513,34 +1375,50 @@ darwin* | rhapsody*)
   version_type=darwin
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
   soname_spec='${libname}${release}${major}$shared_ext'
   shlibpath_overrides_runpath=yes
   shlibpath_var=DYLD_LIBRARY_PATH
   shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-  m4_if([$1], [],[
-  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) 
+  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
+  if test "$GCC" = yes; then
+    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
+  else
+    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+  fi
   sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
   ;;
 
 dgux*)
   version_type=linux
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
 freebsd1*)
   dynamic_linker=no
   ;;
 
+kfreebsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
+
 freebsd* | dragonfly*)
   # DragonFly does not have aout.  When/if they implement a new
   # versioning mechanism, adjust this.
   if test -x /usr/bin/objformat; then
     objformat=`/usr/bin/objformat`
   else
     case $host_os in
     freebsd[[123]]*) objformat=aout ;;
@@ -1568,17 +1446,17 @@ freebsd* | dragonfly*)
     shlibpath_overrides_runpath=yes
     hardcode_into_libs=yes
     ;;
   freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
   freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
     shlibpath_overrides_runpath=no
     hardcode_into_libs=yes
     ;;
-  *) # from 4.6 on, and DragonFly
+  freebsd*) # from 4.6 on
     shlibpath_overrides_runpath=yes
     hardcode_into_libs=yes
     ;;
   esac
   ;;
 
 gnu*)
   version_type=linux
@@ -1631,17 +1509,17 @@ hpux9* | hpux10* | hpux11*)
     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
     soname_spec='${libname}${release}${shared_ext}$major'
     ;;
   esac
   # HP-UX runs *really* slowly unless shared libraries are mode 555.
   postinstall_cmds='chmod 555 $lib'
   ;;
 
-interix[[3-9]]*)
+interix3*)
   version_type=linux
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=no
@@ -1686,45 +1564,57 @@ irix5* | irix6* | nonstopux*)
   ;;
 
 # No shared lib support for Linux oldld, aout, or coff.
 linux*oldld* | linux*aout* | linux*coff*)
   dynamic_linker=no
   ;;
 
 # This must be Linux ELF.
-linux* | k*bsd*-gnu)
+linux*)
   version_type=linux
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=no
   # This implies no fast_install, which is unacceptable.
   # Some rework will be needed to allow for fast_install
   # before this can be enabled.
   hardcode_into_libs=yes
 
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ 	]*hwcap[ 	]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
   fi
 
   # We used to test for /lib/ld.so.1 and disable shared libraries on
   # powerpc, because MkLinux only supported shared libraries with the
   # GNU dynamic linker.  Since this was broken with cross compilers,
   # most powerpc-linux boxes support dynamic linking these days and
   # people can always --disable-shared, the test was removed, and we
   # assume the GNU/Linux dynamic linker is in use.
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
+knetbsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
+
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
   need_version=no
   if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
     finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
     dynamic_linker='NetBSD (a.out) ld.so'
@@ -1796,20 +1686,16 @@ osf3* | osf4* | osf5*)
   need_version=no
   soname_spec='${libname}${release}${shared_ext}$major'
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   shlibpath_var=LD_LIBRARY_PATH
   sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
   sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
   ;;
 
-rdos*)
-  dynamic_linker=no
-  ;;
-
 solaris*)
   version_type=linux
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=yes
@@ -1895,35 +1781,27 @@ uts4*)
 
 *)
   dynamic_linker=no
   ;;
 esac
 AC_MSG_RESULT([$dynamic_linker])
 test "$dynamic_linker" = no && can_build_shared=no
 
-AC_CACHE_VAL([lt_cv_sys_lib_search_path_spec],
-[lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"])
-sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-AC_CACHE_VAL([lt_cv_sys_lib_dlsearch_path_spec],
-[lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"])
-sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-
 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
 if test "$GCC" = yes; then
   variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
 fi
 ])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
 
 
 # _LT_AC_TAGCONFIG
 # ----------------
 AC_DEFUN([_LT_AC_TAGCONFIG],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_ARG_WITH([tags],
+[AC_ARG_WITH([tags],
     [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@],
         [include additional configurations @<:@automatic@:>@])],
     [tagnames="$withval"])
 
 if test -f "$ltmain" && test -n "$tagnames"; then
   if test ! -f "${ofile}"; then
     AC_MSG_WARN([output file `$ofile' does not exist])
   fi
@@ -2174,17 +2052,17 @@ m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC
     fi])
  EGREP=$ac_cv_prog_egrep
  AC_SUBST([EGREP])
 ])])
 
 
 # AC_PATH_TOOL_PREFIX
 # -------------------
-# find a file program which can recognize shared library
+# find a file program which can recognise shared library
 AC_DEFUN([AC_PATH_TOOL_PREFIX],
 [AC_REQUIRE([AC_PROG_EGREP])dnl
 AC_MSG_CHECKING([for $1])
 AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
 [case $MAGIC_CMD in
 [[\\/*] |  ?:[\\/]*])
   lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
   ;;
@@ -2237,17 +2115,17 @@ if test -n "$MAGIC_CMD"; then
 else
   AC_MSG_RESULT(no)
 fi
 ])# AC_PATH_TOOL_PREFIX
 
 
 # AC_PATH_MAGIC
 # -------------
-# find a file program which can recognize a shared library
+# find a file program which can recognise a shared library
 AC_DEFUN([AC_PATH_MAGIC],
 [AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
 if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then
     AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
   else
     MAGIC_CMD=:
   fi
@@ -2384,34 +2262,34 @@ esac
 ])# AC_PROG_LD_RELOAD_FLAG
 
 
 # AC_DEPLIBS_CHECK_METHOD
 # -----------------------
 # how to check for library dependencies
 #  -- PORTME fill in with the dynamic library characteristics
 AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
-[AC_CACHE_CHECK([how to recognize dependent libraries],
+[AC_CACHE_CHECK([how to recognise dependent libraries],
 lt_cv_deplibs_check_method,
 [lt_cv_file_magic_cmd='$MAGIC_CMD'
 lt_cv_file_magic_test_file=
 lt_cv_deplibs_check_method='unknown'
 # Need to set the preceding variable on all platforms that support
 # interlibrary dependencies.
 # 'none' -- dependencies not supported.
 # `unknown' -- same as none, but documents that we really don't know.
 # 'pass_all' -- all dependencies passed with no checks.
 # 'test_compile' -- check by making test program.
 # 'file_magic [[regex]]' -- check by looking for files in library path
 # which responds to the $file_magic_cmd with a given extended regex.
 # If you have `file' or equivalent on your system and you're not sure
 # whether `pass_all' will *always* work, you probably want this one.
 
 case $host_os in
-aix[[4-9]]*)
+aix4* | aix5*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
 beos*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
 bsdi[[45]]*)
@@ -2423,32 +2301,26 @@ bsdi[[45]]*)
 cygwin*)
   # func_win32_libid is a shell function defined in ltmain.sh
   lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
   lt_cv_file_magic_cmd='func_win32_libid'
   ;;
 
 mingw* | pw32*)
   # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump',
-  # unless we find 'file', for example because we are cross-compiling.
-  if ( file / ) >/dev/null 2>&1; then
-    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-    lt_cv_file_magic_cmd='func_win32_libid'
-  else
-    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
-    lt_cv_file_magic_cmd='$OBJDUMP -f'
-  fi
+  # func_win32_libid shell function, so use a weaker test based on 'objdump'.
+  lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+  lt_cv_file_magic_cmd='$OBJDUMP -f'
   ;;
 
 darwin* | rhapsody*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-freebsd* | dragonfly*)
+freebsd* | kfreebsd*-gnu | dragonfly*)
   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
     case $host_cpu in
     i*86 )
       # Not sure whether the presence of OpenBSD here was a mistake.
       # Let's accept both of them until this is cleared up.
       lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
       lt_cv_file_magic_cmd=/usr/bin/file
       lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
@@ -2476,33 +2348,33 @@ hpux10.20* | hpux11*)
     ;;
   *)
     lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
     lt_cv_file_magic_test_file=/usr/lib/libc.sl
     ;;
   esac
   ;;
 
-interix[[3-9]]*)
+interix3*)
   # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
   lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
   ;;
 
 irix5* | irix6* | nonstopux*)
   case $LD in
   *-32|*"-32 ") libmagic=32-bit;;
   *-n32|*"-n32 ") libmagic=N32;;
   *-64|*"-64 ") libmagic=64-bit;;
   *) libmagic=never-match;;
   esac
   lt_cv_deplibs_check_method=pass_all
   ;;
 
 # This must be Linux ELF.
-linux* | k*bsd*-gnu)
+linux*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
 netbsd*)
   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
     lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
   else
     lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
@@ -2526,20 +2398,16 @@ openbsd*)
     lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
   fi
   ;;
 
 osf3* | osf4* | osf5*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-rdos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
 solaris*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
 sysv4 | sysv4.3*)
   case $host_vendor in
   motorola)
     lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
@@ -2582,17 +2450,17 @@ test -z "$deplibs_check_method" && depli
 # find the pathname to a BSD-compatible name lister
 AC_DEFUN([AC_PROG_NM],
 [AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM,
 [if test -n "$NM"; then
   # Let the user override the test.
   lt_cv_path_NM="$NM"
 else
   lt_nm_to_check="${ac_tool_prefix}nm"
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then 
     lt_nm_to_check="$lt_nm_to_check nm"
   fi
   for lt_tmp_nm in $lt_nm_to_check; do
     lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
     for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
       IFS="$lt_save_ifs"
       test -z "$ac_dir" && ac_dir=.
       tmp_nm="$ac_dir/$lt_tmp_nm"
@@ -2798,20 +2666,20 @@ AC_LANG_PUSH(C)
 # Source file extension for C test sources.
 ac_ext=c
 
 # Object file extension for compiled C test sources.
 objext=o
 _LT_AC_TAGVAR(objext, $1)=$objext
 
 # Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
+lt_simple_compile_test_code="int some_variable = 0;\n"
 
 # Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
+lt_simple_link_test_code='int main(){return(0);}\n'
 
 _LT_AC_SYS_COMPILER
 
 # save warnings/boilerplate of simple test code
 _LT_COMPILER_BOILERPLATE
 _LT_LINKER_BOILERPLATE
 
 AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
@@ -2837,17 +2705,17 @@ case $host_os in
 aix3*)
   test "$enable_shared" = yes && enable_static=no
   if test -n "$RANLIB"; then
     archive_cmds="$archive_cmds~\$RANLIB \$lib"
     postinstall_cmds='$RANLIB $lib'
   fi
   ;;
 
-aix[[4-9]]*)
+aix4* | aix5*)
   if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
     test "$enable_shared" = yes && enable_static=no
   fi
     ;;
 esac
 AC_MSG_RESULT([$enable_shared])
 
 AC_MSG_CHECKING([whether to build static libraries])
@@ -2894,30 +2762,29 @@ AC_REQUIRE([_LT_AC_PROG_CXXCPP])
 _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
 
 # Dependencies to place before and after the object being linked:
 _LT_AC_TAGVAR(predep_objects, $1)=
 _LT_AC_TAGVAR(postdep_objects, $1)=
 _LT_AC_TAGVAR(predeps, $1)=
 _LT_AC_TAGVAR(postdeps, $1)=
 _LT_AC_TAGVAR(compiler_lib_search_path, $1)=
-_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
 
 # Source file extension for C++ test sources.
 ac_ext=cpp
 
 # Object file extension for compiled C++ test sources.
 objext=o
 _LT_AC_TAGVAR(objext, $1)=$objext
 
 # Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
+lt_simple_compile_test_code="int some_variable = 0;\n"
 
 # Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
+lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n'
 
 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 _LT_AC_SYS_COMPILER
 
 # save warnings/boilerplate of simple test code
 _LT_COMPILER_BOILERPLATE
 _LT_LINKER_BOILERPLATE
 
@@ -3004,30 +2871,30 @@ fi
 # PORTME: fill in a description of your system's C++ link characteristics
 AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
 _LT_AC_TAGVAR(ld_shlibs, $1)=yes
 case $host_os in
   aix3*)
     # FIXME: insert proper C++ library support
     _LT_AC_TAGVAR(ld_shlibs, $1)=no
     ;;
-  aix[[4-9]]*)
+  aix4* | aix5*)
     if test "$host_cpu" = ia64; then
       # On IA64, the linker does run time linking by default, so we don't
       # have to do anything special.
       aix_use_runtimelinking=no
       exp_sym_flag='-Bexport'
       no_entry_flag=""
     else
       aix_use_runtimelinking=no
 
       # Test if we are trying to use run time linking or normal
       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
       # need to do runtime linking.
-      case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+      case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
 	for ld_flag in $LDFLAGS; do
 	  case $ld_flag in
 	  *-brtl*)
 	    aix_use_runtimelinking=yes
 	    break
 	    ;;
 	  esac
 	done
@@ -3053,17 +2920,17 @@ case $host_os in
       case $host_os in aix4.[[012]]|aix4.[[012]].*)
       # We only want to do this on AIX 4.2 and lower, the check
       # below for broken collect2 doesn't work under 4.3+
 	collect2name=`${CC} -print-prog-name=collect2`
 	if test -f "$collect2name" && \
 	   strings "$collect2name" | grep resolve_lib_name >/dev/null
 	then
 	  # We have reworked collect2
-	  :
+	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes
 	else
 	  # We have old collect2
 	  _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
 	  # It fails to find uninstalled libraries when the uninstalled
 	  # path is not listed in the libpath.  Setting hardcode_minus_L
 	  # to unsupported forces relinking
 	  _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
 	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
@@ -3163,41 +3030,69 @@ case $host_os in
 	cat $export_symbols >> $output_objdir/$soname.def;
       fi~
       $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
     else
       _LT_AC_TAGVAR(ld_shlibs, $1)=no
     fi
   ;;
       darwin* | rhapsody*)
+        case $host_os in
+        rhapsody* | darwin1.[[012]])
+         _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
+         ;;
+       *) # Darwin 1.3 on
+         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+           _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+         else
+           case ${MACOSX_DEPLOYMENT_TARGET} in
+             10.[[012]])
+               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+               ;;
+             10.*)
+               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
+               ;;
+           esac
+         fi
+         ;;
+        esac
       _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
       _LT_AC_TAGVAR(hardcode_direct, $1)=no
       _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
       _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
-      if test "$GXX" = yes ; then
+
+    if test "$GXX" = yes ; then
+      lt_int_apple_cc_single_mod=no
       output_verbose_link_cmd='echo'
-      _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-      _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-      _LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-      if test "$lt_cv_apple_cc_single_mod" != "yes"; then
-        _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
-        _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
+      if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
+       lt_int_apple_cc_single_mod=yes
       fi
+      if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+      else
+          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+        fi
+        _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+        # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+          if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+            _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          else
+            _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          fi
+            _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
       else
       case $cc_basename in
         xlc*)
          output_verbose_link_cmd='echo'
-          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
+          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
           _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
           # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           ;;
        *)
          _LT_AC_TAGVAR(ld_shlibs, $1)=no
           ;;
       esac
       fi
         ;;
@@ -3221,17 +3116,17 @@ case $host_os in
     ;;
   freebsd[[12]]*)
     # C++ shared libraries reported to be fairly broken before switch to ELF
     _LT_AC_TAGVAR(ld_shlibs, $1)=no
     ;;
   freebsd-elf*)
     _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
     ;;
-  freebsd* | dragonfly*)
+  freebsd* | kfreebsd*-gnu | dragonfly*)
     # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
     # conventions
     _LT_AC_TAGVAR(ld_shlibs, $1)=yes
     ;;
   gnu*)
     ;;
   hpux9*)
     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
@@ -3270,17 +3165,19 @@ case $host_os in
     esac
     ;;
   hpux10*|hpux11*)
     if test $with_gnu_ld = no; then
       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
       _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
 
       case $host_cpu in
-      hppa*64*|ia64*) ;;
+      hppa*64*|ia64*)
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
+        ;;
       *)
 	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
         ;;
       esac
     fi
     case $host_cpu in
     hppa*64*|ia64*)
       _LT_AC_TAGVAR(hardcode_direct, $1)=no
@@ -3338,17 +3235,17 @@ case $host_os in
 	  fi
 	else
 	  # FIXME: insert proper C++ library support
 	  _LT_AC_TAGVAR(ld_shlibs, $1)=no
 	fi
 	;;
     esac
     ;;
-  interix[[3-9]]*)
+  interix3*)
     _LT_AC_TAGVAR(hardcode_direct, $1)=no
     _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
     _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
     # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
     # Instead, shared libraries are loaded at an image base (0x10000000 by
     # default) and relocated if they conflict, which is a slow very memory
     # consuming and fragmenting process.  To avoid this, we pick a random,
@@ -3378,17 +3275,17 @@ case $host_os in
 	  fi
 	fi
 	_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
 	;;
     esac
     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
     _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
     ;;
-  linux* | k*bsd*-gnu)
+  linux*)
     case $cc_basename in
       KCC*)
 	# Kuck and Associates, Inc. (KAI) C++ Compiler
 
 	# KCC will only create a shared library if the output file
 	# ends with ".so" (or ".sl" for HP-UX), so rename the library
 	# to its proper name (with version) after linking.
 	_LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
@@ -3430,17 +3327,17 @@ case $host_os in
 	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
 	  ;;
 	esac
 	_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
 	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
 	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
 	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
 	;;
-      pgCC* | pgcpp*)
+      pgCC*)
         # Portland Group C++ compiler
 	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
   	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
 
 	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
 	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
 	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
         ;;
@@ -3458,39 +3355,16 @@ case $host_os in
 	# linking a shared library.
 	#
 	# There doesn't appear to be a way to prevent this compiler from
 	# explicitly linking system object files so we need to strip them
 	# from the output so that they don't get included in the library
 	# dependencies.
 	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
 	;;
-      *)
-	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ C*)
-	  # Sun C++ 5.9
-	  _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
-	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-
-	  # Not sure whether something based on
-	  # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
-	  # would be better.
-	  output_verbose_link_cmd='echo'
-
-	  # Archives containing C++ object files must be created using
-	  # "CC -xar", where "CC" is the Sun C++ compiler.  This is
-	  # necessary to make sure instantiated templates are included
-	  # in the archive.
-	  _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
-	  ;;
-	esac
-	;;
     esac
     ;;
   lynxos*)
     # FIXME: insert proper C++ library support
     _LT_AC_TAGVAR(ld_shlibs, $1)=no
     ;;
   m88k*)
     # FIXME: insert proper C++ library support
@@ -3519,30 +3393,26 @@ case $host_os in
     # Workaround some broken pre-1.5 toolchains
     output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
     ;;
   openbsd2*)
     # C++ shared libraries are fairly broken
     _LT_AC_TAGVAR(ld_shlibs, $1)=no
     ;;
   openbsd*)
-    if test -f /usr/libexec/ld.so; then
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
-	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      fi
-      output_verbose_link_cmd='echo'
-    else
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+    if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
     fi
+    output_verbose_link_cmd='echo'
     ;;
   osf3*)
     case $cc_basename in
       KCC*)
 	# Kuck and Associates, Inc. (KAI) C++ Compiler
 
 	# KCC will only create a shared library if the output file
 	# ends with ".so" (or ".sl" for HP-UX), so rename the library
@@ -3694,20 +3564,25 @@ case $host_os in
 	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
 	$CC -G${allow_undefined_flag}  ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
 
 	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
 	_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
 	case $host_os in
 	  solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
 	  *)
-	    # The compiler driver will combine and reorder linker options,
-	    # but understands `-z linker_flag'.
+	    # The C++ compiler is used as linker so we must use $wl
+	    # flag to pass the commands to the underlying system
+	    # linker. We must also pass each convience library through
+	    # to the system linker between allextract/defaultextract.
+	    # The C++ compiler will combine linker options so we
+	    # cannot just pass the convience library names through
+	    # without $wl.
 	    # Supported since Solaris 2.6 (maybe 2.5.1?)
-	    _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+	    _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
 	    ;;
 	esac
 	_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
 
 	output_verbose_link_cmd='echo'
 
 	# Archives containing C++ object files must be created using
 	# "CC -xar", where "CC" is the Sun C++ compiler.  This is
@@ -3744,22 +3619,16 @@ case $host_os in
 
 	    # Commands to make compiler produce verbose output that lists
 	    # what "hidden" libraries, object files and flags are used when
 	    # linking a shared library.
 	    output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
 	  fi
 
 	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
-	  case $host_os in
-	  solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
-	  *)
-	    _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-	    ;;
-	  esac
 	fi
 	;;
     esac
     ;;
   sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
     _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
     _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
     _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
@@ -3865,18 +3734,17 @@ lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
 ])# AC_LIBTOOL_LANG_CXX_CONFIG
 
 # AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME])
 # ------------------------------------
 # Figure out "hidden" library dependencies from verbose
 # compiler output when linking a shared library.
 # Parse the compiler output and extract the necessary
 # objects, libraries and library flags.
-AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[
 dnl we can't use the lt_simple_compile_test_code here,
 dnl because it contains code intended for an executable,
 dnl not a library.  It's possible we should let each
 dnl tag define a new lt_????_link_test_code variable,
 dnl but it's only used here...
 ifelse([$1],[],[cat > conftest.$ac_ext <<EOF
 int a;
 void foo (void) { a = 0; }
@@ -3991,77 +3859,40 @@ if AC_TRY_EVAL(ac_compile); then
   # Clean up.
   rm -f a.out a.exe
 else
   echo "libtool.m4: error: problem compiling $1 test program"
 fi
 
 $rm -f confest.$objext
 
-_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
-if test -n "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
-  _LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_AC_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
-fi
-
 # PORTME: override above test on systems where it is broken
 ifelse([$1],[CXX],
 [case $host_os in
-interix[[3-9]]*)
+interix3*)
   # Interix 3.5 installs completely hosed .la files for C++, so rather than
   # hack all around it, let's just trust "g++" to DTRT.
   _LT_AC_TAGVAR(predep_objects,$1)=
   _LT_AC_TAGVAR(postdep_objects,$1)=
   _LT_AC_TAGVAR(postdeps,$1)=
   ;;
 
-linux*)
-  case `$CC -V 2>&1 | sed 5q` in
-  *Sun\ C*)
-    # Sun C++ 5.9
-    #
-    # The more standards-conforming stlport4 library is
-    # incompatible with the Cstd library. Avoid specifying
-    # it if it's in CXXFLAGS. Ignore libCrun as
-    # -library=stlport4 depends on it.
-    case " $CXX $CXXFLAGS " in
-    *" -library=stlport4 "*)
-      solaris_use_stlport4=yes
-      ;;
-    esac
-    if test "$solaris_use_stlport4" != yes; then
-      _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
-    fi
-    ;;
-  esac
-  ;;
-
 solaris*)
   case $cc_basename in
   CC*)
-    # The more standards-conforming stlport4 library is
-    # incompatible with the Cstd library. Avoid specifying
-    # it if it's in CXXFLAGS. Ignore libCrun as
-    # -library=stlport4 depends on it.
-    case " $CXX $CXXFLAGS " in
-    *" -library=stlport4 "*)
-      solaris_use_stlport4=yes
-      ;;
-    esac
-
     # Adding this requires a known-good setup of shared libraries for
     # Sun compiler versions before 5.6, else PIC objects from an old
     # archive will be linked into the output, leading to subtle bugs.
-    if test "$solaris_use_stlport4" != yes; then
-      _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
-    fi
+    _LT_AC_TAGVAR(postdeps,$1)='-lCstd -lCrun'
     ;;
   esac
   ;;
 esac
 ])
+
 case " $_LT_AC_TAGVAR(postdeps, $1) " in
 *" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
 esac
 ])# AC_LIBTOOL_POSTDEP_PREDEP
 
 # AC_LIBTOOL_LANG_F77_CONFIG
 # --------------------------
 # Ensure that the configuration vars for the C compiler are
@@ -4094,27 +3925,20 @@ AC_LANG_PUSH(Fortran 77)
 # Source file extension for f77 test sources.
 ac_ext=f
 
 # Object file extension for compiled f77 test sources.
 objext=o
 _LT_AC_TAGVAR(objext, $1)=$objext
 
 # Code to be used in simple compile tests
-lt_simple_compile_test_code="\
-      subroutine t
-      return
-      end
-"
+lt_simple_compile_test_code="      subroutine t\n      return\n      end\n"
 
 # Code to be used in simple link tests
-lt_simple_link_test_code="\
-      program t
-      end
-"
+lt_simple_link_test_code="      program t\n      end\n"
 
 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 _LT_AC_SYS_COMPILER
 
 # save warnings/boilerplate of simple test code
 _LT_COMPILER_BOILERPLATE
 _LT_LINKER_BOILERPLATE
 
@@ -4136,17 +3960,17 @@ test "$can_build_shared" = "no" && enabl
 case $host_os in
 aix3*)
   test "$enable_shared" = yes && enable_static=no
   if test -n "$RANLIB"; then
     archive_cmds="$archive_cmds~\$RANLIB \$lib"
     postinstall_cmds='$RANLIB $lib'
   fi
   ;;
-aix[[4-9]]*)
+aix4* | aix5*)
   if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
     test "$enable_shared" = yes && enable_static=no
   fi
   ;;
 esac
 AC_MSG_RESULT([$enable_shared])
 
 AC_MSG_CHECKING([whether to build static libraries])
@@ -4183,20 +4007,20 @@ AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG],
 # Source file extension for Java test sources.
 ac_ext=java
 
 # Object file extension for compiled Java test sources.
 objext=o
 _LT_AC_TAGVAR(objext, $1)=$objext
 
 # Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}"
+lt_simple_compile_test_code="class foo {}\n"
 
 # Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }\n'
 
 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 _LT_AC_SYS_COMPILER
 
 # save warnings/boilerplate of simple test code
 _LT_COMPILER_BOILERPLATE
 _LT_LINKER_BOILERPLATE
 
@@ -4239,17 +4063,17 @@ AC_DEFUN([_LT_AC_LANG_RC_CONFIG],
 # Source file extension for RC test sources.
 ac_ext=rc
 
 # Object file extension for compiled RC test sources.
 objext=o
 _LT_AC_TAGVAR(objext, $1)=$objext
 
 # Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
 
 # Code to be used in simple link tests
 lt_simple_link_test_code="$lt_simple_compile_test_code"
 
 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 _LT_AC_SYS_COMPILER
 
 # save warnings/boilerplate of simple test code
@@ -4313,33 +4137,31 @@ if test -f "$ltmain"; then
     _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \
     _LT_AC_TAGVAR(old_archive_cmds, $1) \
     _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \
     _LT_AC_TAGVAR(predep_objects, $1) \
     _LT_AC_TAGVAR(postdep_objects, $1) \
     _LT_AC_TAGVAR(predeps, $1) \
     _LT_AC_TAGVAR(postdeps, $1) \
     _LT_AC_TAGVAR(compiler_lib_search_path, $1) \
-    _LT_AC_TAGVAR(compiler_lib_search_dirs, $1) \
     _LT_AC_TAGVAR(archive_cmds, $1) \
     _LT_AC_TAGVAR(archive_expsym_cmds, $1) \
     _LT_AC_TAGVAR(postinstall_cmds, $1) \
     _LT_AC_TAGVAR(postuninstall_cmds, $1) \
     _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \
     _LT_AC_TAGVAR(allow_undefined_flag, $1) \
     _LT_AC_TAGVAR(no_undefined_flag, $1) \
     _LT_AC_TAGVAR(export_symbols_cmds, $1) \
     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \
     _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \
     _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \
     _LT_AC_TAGVAR(hardcode_automatic, $1) \
     _LT_AC_TAGVAR(module_cmds, $1) \
     _LT_AC_TAGVAR(module_expsym_cmds, $1) \
     _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
-    _LT_AC_TAGVAR(fix_srcfile_path, $1) \
     _LT_AC_TAGVAR(exclude_expsyms, $1) \
     _LT_AC_TAGVAR(include_expsyms, $1); do
 
     case $var in
     _LT_AC_TAGVAR(old_archive_cmds, $1) | \
     _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \
     _LT_AC_TAGVAR(archive_cmds, $1) | \
     _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \
@@ -4376,17 +4198,17 @@ ifelse([$1], [],
   cat <<__EOF__ >> "$cfgfile"
 ifelse([$1], [],
 [#! $SHELL
 
 # `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
 # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
 #
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
 # Free Software Foundation, Inc.
 #
 # This file is part of GNU Libtool:
 # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 2 of the License, or
@@ -4613,20 +4435,16 @@ postdep_objects=$lt_[]_LT_AC_TAGVAR(post
 # Dependencies to place before the objects being linked to create a
 # shared library.
 predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1)
 
 # Dependencies to place after the objects being linked to create a
 # shared library.
 postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
 
-# The directories searched by this compiler when creating a shared
-# library
-compiler_lib_search_dirs=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)
-
 # The library search path used internally by the compiler when linking
 # a shared library.
 compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
 
 # Method to check whether dependent libraries are shared objects.
 deplibs_check_method=$lt_deplibs_check_method
 
 # Command to use when deplibs_check_method == file_magic.
@@ -4705,17 +4523,17 @@ link_all_deplibs=$_LT_AC_TAGVAR(link_all
 
 # Compile-time system search path for libraries
 sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
 
 # Run-time system search path for libraries
 sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
 
 # Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
+fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)"
 
 # Set to yes if exported symbols are required.
 always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1)
 
 # The commands to list exported symbols.
 export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1)
 
 # The commands to extract the exported symbol list from a shared archive.
@@ -4788,17 +4606,16 @@ if test "$GCC" = yes; then
 fi
 ])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI
 
 
 # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
 # ---------------------------------
 AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
 [AC_REQUIRE([AC_CANONICAL_HOST])
-AC_REQUIRE([LT_AC_PROG_SED])
 AC_REQUIRE([AC_PROG_NM])
 AC_REQUIRE([AC_OBJEXT])
 # Check for command to grab the raw symbol name followed by C symbol from nm.
 AC_MSG_CHECKING([command to parse $NM output from $compiler object])
 AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
 [
 # These are sane defaults that work on at least a few old systems.
 # [They come from Ultrix.  What could be older than Ultrix?!! ;)]
@@ -4825,17 +4642,17 @@ cygwin* | mingw* | pw32*)
   ;;
 hpux*) # Its linker distinguishes data from code symbols
   if test "$host_cpu" = ia64; then
     symcode='[[ABCDEGRST]]'
   fi
   lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
   lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
   ;;
-linux* | k*bsd*-gnu)
+linux*)
   if test "$host_cpu" = ia64; then
     symcode='[[ABCDGIRSTW]]'
     lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
     lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
   fi
   ;;
 irix* | nonstopux*)
   symcode='[[BCDEGRST]]'
@@ -4966,17 +4783,17 @@ EOF
       fi
     else
       echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
     fi
   else
     echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
     cat conftest.$ac_ext >&5
   fi
-  rm -rf conftest* conftst*
+  rm -f conftest* conftst*
 
   # Do not use the global_symbol_pipe unless it works.
   if test "$pipe_works" = yes; then
     break
   else
     lt_cv_sys_global_symbol_pipe=
   fi
 done
@@ -5015,37 +4832,34 @@ AC_MSG_CHECKING([for $compiler option to
       fi
       ;;
     amigaos*)
       # FIXME: we need at least 68020 code to build shared libraries, but
       # adding the `-m68020' flag to GCC prevents building anything better,
       # like `-m68040'.
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
       ;;
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
       # PIC is the default for these OSes.
       ;;
-    mingw* | cygwin* | os2* | pw32*)
+    mingw* | os2* | pw32*)
       # This hack is so that the source file can tell whether it is being
       # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      m4_if([$1], [GCJ], [],
-	[_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
       ;;
     darwin* | rhapsody*)
       # PIC is the default on this platform
       # Common symbols not allowed in MH_DYLIB files
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
       ;;
     *djgpp*)
       # DJGPP does not support shared libraries at all
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
       ;;
-    interix[[3-9]]*)
+    interix3*)
       # Interix 3.x gcc -fpic/-fPIC options generate broken code.
       # Instead, we relocate shared libraries at runtime.
       ;;
     sysv4*MP*)
       if test -d /usr/nec; then
 	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
       fi
       ;;
@@ -5061,17 +4875,17 @@ AC_MSG_CHECKING([for $compiler option to
       esac
       ;;
     *)
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
       ;;
     esac
   else
     case $host_os in
-      aix[[4-9]]*)
+      aix4* | aix5*)
 	# All AIX code is PIC.
 	if test "$host_cpu" = ia64; then
 	  # AIX 5 now supports IA64 processor
 	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
 	else
 	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
 	fi
 	;;
@@ -5101,17 +4915,17 @@ AC_MSG_CHECKING([for $compiler option to
 	  ghcx*)
 	    # Green Hills C++ Compiler
 	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
 	    ;;
 	  *)
 	    ;;
 	esac
 	;;
-      freebsd* | dragonfly*)
+      freebsd* | kfreebsd*-gnu | dragonfly*)
 	# FreeBSD uses GNU C++
 	;;
       hpux9* | hpux10* | hpux11*)
 	case $cc_basename in
 	  CC*)
 	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
 	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
 	    if test "$host_cpu" != ia64; then
@@ -5144,51 +4958,43 @@ AC_MSG_CHECKING([for $compiler option to
 	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
 	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
 	    # CC pic flag -KPIC is the default.
 	    ;;
 	  *)
 	    ;;
 	esac
 	;;
-      linux* | k*bsd*-gnu)
+      linux*)
 	case $cc_basename in
 	  KCC*)
 	    # KAI C++ Compiler
 	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
 	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
 	    ;;
 	  icpc* | ecpc*)
 	    # Intel C++
 	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
 	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
 	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
 	    ;;
-	  pgCC* | pgcpp*)
+	  pgCC*)
 	    # Portland Group C++ compiler.
 	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
 	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
 	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
 	    ;;
 	  cxx*)
 	    # Compaq C++
 	    # Make sure the PIC flag is empty.  It appears that all Alpha
 	    # Linux and Compaq Tru64 Unix objects are PIC.
 	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
 	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
 	    ;;
 	  *)
-	    case `$CC -V 2>&1 | sed 5q` in
-	    *Sun\ C*)
-	      # Sun C++ 5.9
-	      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-	      ;;
-	    esac
 	    ;;
 	esac
 	;;
       lynxos*)
 	;;
       m88k*)
 	;;
       mvs*)
@@ -5299,36 +5105,33 @@ AC_MSG_CHECKING([for $compiler option to
 
     amigaos*)
       # FIXME: we need at least 68020 code to build shared libraries, but
       # adding the `-m68020' flag to GCC prevents building anything better,
       # like `-m68040'.
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
       ;;
 
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
       # PIC is the default for these OSes.
       ;;
 
-    mingw* | cygwin* | pw32* | os2*)
+    mingw* | pw32* | os2*)
       # This hack is so that the source file can tell whether it is being
       # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      m4_if([$1], [GCJ], [],
-	[_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
       ;;
 
     darwin* | rhapsody*)
       # PIC is the default on this platform
       # Common symbols not allowed in MH_DYLIB files
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
       ;;
 
-    interix[[3-9]]*)
+    interix3*)
       # Interix 3.x gcc -fpic/-fPIC options generate broken code.
       # Instead, we relocate shared libraries at runtime.
       ;;
 
     msdosdjgpp*)
       # Just because we use GCC doesn't mean we suddenly get shared libraries
       # on systems that don't support them.
       _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
@@ -5376,21 +5179,20 @@ AC_MSG_CHECKING([for $compiler option to
        case $cc_basename in
          xlc*)
          _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
          _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
          ;;
        esac
        ;;
 
-    mingw* | cygwin* | pw32* | os2*)
+    mingw* | pw32* | os2*)
       # This hack is so that the source file can tell whether it is being
       # built for inclusion in a dll (and should export symbols for example).
-      m4_if([$1], [GCJ], [],
-	[_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
       ;;
 
     hpux9* | hpux10* | hpux11*)
       _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
       # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
       # not for PA HP-UX.
       case $host_cpu in
       hppa*64*|ia64*)
@@ -5410,17 +5212,17 @@ AC_MSG_CHECKING([for $compiler option to
       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
       ;;
 
     newsos6)
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
       ;;
 
-    linux* | k*bsd*-gnu)
+    linux*)
       case $cc_basename in
       icc* | ecc*)
 	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
 	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
 	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
         ;;
       pgcc* | pgf77* | pgf90* | pgf95*)
         # Portland Group compilers (*not* the Pentium gcc compiler,
@@ -5429,45 +5231,25 @@ AC_MSG_CHECKING([for $compiler option to
 	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
 	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
         ;;
       ccc*)
         _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
         # All Alpha code is PIC.
         _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
         ;;
-      *)
-        case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ C*)
-	  # Sun C 5.9
-	  _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	  _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	  ;;
-	*Sun\ F*)
-	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
-	  _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	  _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=''
-	  ;;
-	esac
-	;;
       esac
       ;;
 
     osf3* | osf4* | osf5*)
       _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
       # All OSF/1 code is PIC.
       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
       ;;
 
-    rdos*)
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-      ;;
-
     solaris*)
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
       case $cc_basename in
       f77* | f90* | f95*)
 	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
       *)
 	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
@@ -5517,17 +5299,17 @@ AC_MSG_CHECKING([for $compiler option to
 ])
 AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)])
 
 #
 # Check to make sure the PIC flag actually works.
 #
 if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
   AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
-    _LT_AC_TAGVAR(lt_cv_prog_compiler_pic_works, $1),
+    _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1),
     [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
     [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
      "" | " "*) ;;
      *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;;
      esac],
     [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
 fi
@@ -5541,52 +5323,50 @@ case $host_os in
     ;;
 esac
 
 #
 # Check to make sure the static flag actually works.
 #
 wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\"
 AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
-  _LT_AC_TAGVAR(lt_cv_prog_compiler_static_works, $1),
+  _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1),
   $lt_tmp_static_flag,
   [],
   [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
 ])
 
 
 # AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME])
 # ------------------------------------
 # See if the linker supports building shared libraries.
 AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
 ifelse([$1],[CXX],[
   _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
   case $host_os in
-  aix[[4-9]]*)
+  aix4* | aix5*)
     # If we're using GNU nm, then we don't want the "-C" option.
     # -C means demangle to AIX nm, but means don't demangle with GNU nm
     if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
       _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
     else
       _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
     fi
     ;;
   pw32*)
     _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
   ;;
   cygwin* | mingw*)
-    _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+    _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
   ;;
   *)
     _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
   ;;
   esac
-  _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
 ],[
   runpath_var=
   _LT_AC_TAGVAR(allow_undefined_flag, $1)=
   _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
   _LT_AC_TAGVAR(archive_cmds, $1)=
   _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
   _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)=
   _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)=
@@ -5607,24 +5387,22 @@ ifelse([$1],[CXX],[
   _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
   # include_expsyms should be a list of space-separated symbols to be *always*
   # included in the symbol list
   _LT_AC_TAGVAR(include_expsyms, $1)=
   # exclude_expsyms can be an extended regexp of symbols to exclude
   # it will be wrapped by ` (' and `)$', so one must not match beginning or
   # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
   # as well as any symbol that contains `d'.
-  _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+  _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_"
   # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
   # platforms (ab)use it in PIC code, but their linkers get confused if
   # the symbol is explicitly referenced.  Since portable code cannot
   # rely on this symbol name, it's probably fine to never include it in
   # preloaded symbol tables.
-  # Exclude shared library initialization/finalization symbols.
-dnl Note also adjust exclude_expsyms for C++ above.
   extract_expsyms_cmds=
   # Just being paranoid about ensuring that cc_basename is set.
   _LT_CC_BASENAME([$compiler])
   case $host_os in
   cygwin* | mingw* | pw32*)
     # FIXME: the MSVC++ port hasn't been tested in a loooong time
     # When not using gcc, we currently assume that we are using
     # Microsoft Visual C++.
@@ -5664,17 +5442,17 @@ dnl Note also adjust exclude_expsyms for
       *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
       *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
       *\ 2.11.*) ;; # other 2.11 versions
       *) supports_anon_versioning=yes ;;
     esac
 
     # See if GNU ld supports shared libraries.
     case $host_os in
-    aix[[3-9]]*)
+    aix3* | aix4* | aix5*)
       # On AIX/PPC, the GNU linker is very broken
       if test "$host_cpu" != ia64; then
 	_LT_AC_TAGVAR(ld_shlibs, $1)=no
 	cat <<EOF 1>&2
 
 *** Warning: the GNU linker, at least up to release 2.9.1, is reported
 *** to be unable to reliably create shared libraries on AIX.
 *** Therefore, libtool is disabling shared libraries support.  If you
@@ -5712,17 +5490,17 @@ EOF
 
     cygwin* | mingw* | pw32*)
       # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
       # as there is no search path for DLLs.
       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
       _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
       _LT_AC_TAGVAR(always_export_symbols, $1)=no
       _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
 
       if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
 	# If the export-symbols file already is a .def file (1st line
 	# is EXPORTS), use it as is; otherwise, prepend...
 	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
 	  cp $export_symbols $output_objdir/$soname.def;
 	else
@@ -5730,32 +5508,32 @@ EOF
 	  cat $export_symbols >> $output_objdir/$soname.def;
 	fi~
 	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
       else
 	_LT_AC_TAGVAR(ld_shlibs, $1)=no
       fi
       ;;
 
-    interix[[3-9]]*)
+    interix3*)
       _LT_AC_TAGVAR(hardcode_direct, $1)=no
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
       _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
       # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
       # Instead, shared libraries are loaded at an image base (0x10000000 by
       # default) and relocated if they conflict, which is a slow very memory
       # consuming and fragmenting process.  To avoid this, we pick a random,
       # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
       # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
       ;;
 
-    gnu* | linux* | k*bsd*-gnu)
+    linux*)
       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
 	tmp_addflag=
 	case $cc_basename,$host_cpu in
 	pgcc*)				# Portland Group C compiler
 	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
 	  tmp_addflag=' $pic_flag'
 	  ;;
 	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
@@ -5763,32 +5541,23 @@ EOF
 	  tmp_addflag=' $pic_flag -Mnomain' ;;
 	ecc*,ia64* | icc*,ia64*)		# Intel C compiler on ia64
 	  tmp_addflag=' -i_dynamic' ;;
 	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
 	  tmp_addflag=' -i_dynamic -nofor_main' ;;
 	ifc* | ifort*)			# Intel Fortran compiler
 	  tmp_addflag=' -nofor_main' ;;
 	esac
-	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ C*)			# Sun C 5.9
-	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-	  tmp_sharedflag='-G' ;;
-	*Sun\ F*)			# Sun Fortran 8.3
-	  tmp_sharedflag='-G' ;;
-	*)
-	  tmp_sharedflag='-shared' ;;
-	esac
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
 
 	if test $supports_anon_versioning = yes; then
 	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
   cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
   $echo "local: *; };" >> $output_objdir/$libname.ver~
-	  $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+	  $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
 	fi
       else
 	_LT_AC_TAGVAR(ld_shlibs, $1)=no
       fi
       ;;
 
     netbsd*)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
@@ -5818,17 +5587,17 @@ EOF
 	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
       else
 	_LT_AC_TAGVAR(ld_shlibs, $1)=no
       fi
       ;;
 
     sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
       case `$LD -v 2>&1` in
-        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
+        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) 
 	_LT_AC_TAGVAR(ld_shlibs, $1)=no
 	cat <<_LT_EOF 1>&2
 
 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
 *** reliably create shared libraries on SCO systems.  Therefore, libtool
 *** is disabling shared libraries support.  We urge you to upgrade GNU
 *** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
 *** your PATH or compiler configuration so that the native linker is
@@ -5883,17 +5652,17 @@ EOF
       _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
       if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
 	# Neither direct hardcoding nor static linking is supported with a
 	# broken collect2.
 	_LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
       fi
       ;;
 
-    aix[[4-9]]*)
+    aix4* | aix5*)
       if test "$host_cpu" = ia64; then
 	# On IA64, the linker does run time linking by default, so we don't
 	# have to do anything special.
 	aix_use_runtimelinking=no
 	exp_sym_flag='-Bexport'
 	no_entry_flag=""
       else
 	# If we're using GNU nm, then we don't want the "-C" option.
@@ -5903,17 +5672,17 @@ EOF
 	else
 	  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
 	fi
 	aix_use_runtimelinking=no
 
 	# Test if we are trying to use run time linking or normal
 	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
 	# need to do runtime linking.
-	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
 	  for ld_flag in $LDFLAGS; do
   	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
   	    aix_use_runtimelinking=yes
   	    break
   	  fi
 	  done
 	  ;;
 	esac
@@ -5937,17 +5706,17 @@ EOF
 	case $host_os in aix4.[[012]]|aix4.[[012]].*)
 	# We only want to do this on AIX 4.2 and lower, the check
 	# below for broken collect2 doesn't work under 4.3+
 	  collect2name=`${CC} -print-prog-name=collect2`
 	  if test -f "$collect2name" && \
   	   strings "$collect2name" | grep resolve_lib_name >/dev/null
 	  then
   	  # We have reworked collect2
-  	  :
+  	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes
 	  else
   	  # We have old collect2
   	  _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
   	  # It fails to find uninstalled libraries when the uninstalled
   	  # path is not listed in the libpath.  Setting hardcode_minus_L
   	  # to unsupported forces relinking
   	  _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
   	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
@@ -6030,17 +5799,17 @@ EOF
       libext=lib
       # Tell ltmain to make .dll files, not .so files.
       shrext_cmds=".dll"
       # FIXME: Setting linknames here is a bad hack.
       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
       # The linker will automatically build a .lib file if we build a DLL.
       _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
       # FIXME: Should let the user specify the lib program.
-      _LT_AC_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
+      _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs'
       _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
       _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
       ;;
 
     darwin* | rhapsody*)
       case $host_os in
         rhapsody* | darwin1.[[012]])
          _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
@@ -6063,28 +5832,29 @@ EOF
       _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
       _LT_AC_TAGVAR(hardcode_direct, $1)=no
       _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
       _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
     if test "$GCC" = yes ; then
     	output_verbose_link_cmd='echo'
-        _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-        _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-        _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-        _LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+      _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
     else
       case $cc_basename in
         xlc*)
          output_verbose_link_cmd='echo'
-         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
+         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
          _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
           # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           ;;
        *)
          _LT_AC_TAGVAR(ld_shlibs, $1)=no
           ;;
       esac
     fi
       ;;
@@ -6114,17 +5884,17 @@ EOF
     freebsd2*)
       _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
       _LT_AC_TAGVAR(hardcode_direct, $1)=yes
       _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
       ;;
 
     # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
+    freebsd* | kfreebsd*-gnu | dragonfly*)
       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
       _LT_AC_TAGVAR(hardcode_direct, $1)=yes
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
       ;;
 
     hpux9*)
       if test "$GCC" = yes; then
@@ -6236,38 +6006,34 @@ EOF
       _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
       _LT_AC_TAGVAR(hardcode_direct, $1)=yes
       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
       _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
       ;;
 
     openbsd*)
-      if test -f /usr/libexec/ld.so; then
-	_LT_AC_TAGVAR(hardcode_direct, $1)=yes
-	_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-	if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	  _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-	else
-	  case $host_os in
-	   openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
-	     _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-	     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-	     ;;
-	   *)
-	     _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	     ;;
-	  esac
-        fi
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
       else
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+       case $host_os in
+	 openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+	   _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+	   _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	   ;;
+	 *)
+	   _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	   _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	   ;;
+       esac
       fi
       ;;
 
     os2*)
       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
       _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
       _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
       _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
@@ -6316,26 +6082,27 @@ EOF
 	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
   	$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
       fi
       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
       case $host_os in
       solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
       *)
-	# The compiler driver will combine and reorder linker options,
-	# but understands `-z linker_flag'.  GCC discards it without `$wl',
-	# but is careful enough not to reorder.
+ 	# The compiler driver will combine linker options so we
+ 	# cannot just pass the convience library names through
+ 	# without $wl, iff we do not link with $LD.
+ 	# Luckily, gcc supports the same syntax we need for Sun Studio.
  	# Supported since Solaris 2.6 (maybe 2.5.1?)
-	if test "$GCC" = yes; then
-	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-	else
-	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
-	fi
-	;;
+ 	case $wlarc in
+ 	'')
+ 	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;;
+ 	*)
+ 	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
+ 	esac ;;
       esac
       _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
       ;;
 
     sunos4*)
       if test "x$host_vendor" = xsequent; then
 	# Use $CC to link under sequent, because it throws in some extra .o
 	# files that make .init and .fini sections work.
@@ -6382,17 +6149,17 @@ EOF
 	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
 	_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
 	runpath_var=LD_RUN_PATH
 	hardcode_runpath_var=yes
 	_LT_AC_TAGVAR(ld_shlibs, $1)=yes
       fi
       ;;
 
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*)
       _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
       _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
       runpath_var='LD_RUN_PATH'
 
       if test "$GCC" = yes; then
 	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
 	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
@@ -6457,17 +6224,17 @@ x|xyes)
       # FIXME: we may have to deal with multi-command sequences.
       ;;
     '$CC '*)
       # Test whether the compiler implicitly links with -lc since on some
       # systems, -lgcc has to come before -lc. If gcc already passes -lc
       # to ld, don't add -lc before -lgcc.
       AC_MSG_CHECKING([whether -lc should be explicitly linked in])
       $rm conftest*
-      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+      printf "$lt_simple_compile_test_code" > conftest.$ac_ext
 
       if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
         soname=conftest
         lib=conftest
         libobjs=conftest.$ac_objext
         deplibs=
         wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
 	pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
@@ -6560,40 +6327,16 @@ AC_DEFUN([LT_AC_PROG_GCJ],
   test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
   AC_SUBST(GCJFLAGS)
 ])
 
 AC_DEFUN([LT_AC_PROG_RC],
 [AC_CHECK_TOOL(RC, windres, no)
 ])
 
-
-# Cheap backport of AS_EXECUTABLE_P and required macros
-# from Autoconf 2.59; we should not use $as_executable_p directly.
-
-# _AS_TEST_PREPARE
-# ----------------
-m4_ifndef([_AS_TEST_PREPARE],
-[m4_defun([_AS_TEST_PREPARE],
-[if test -x / >/dev/null 2>&1; then
-  as_executable_p='test -x'
-else
-  as_executable_p='test -f'
-fi
-])])# _AS_TEST_PREPARE
-
-# AS_EXECUTABLE_P
-# ---------------
-# Check whether a file is executable.
-m4_ifndef([AS_EXECUTABLE_P],
-[m4_defun([AS_EXECUTABLE_P],
-[AS_REQUIRE([_AS_TEST_PREPARE])dnl
-$as_executable_p $1[]dnl
-])])# AS_EXECUTABLE_P
-
 # NOTE: This macro has been submitted for inclusion into   #
 #  GNU Autoconf as AC_PROG_SED.  When it is available in   #
 #  a released version of Autoconf we should remove this    #
 #  macro and use it instead.                               #
 # LT_AC_PROG_SED
 # --------------
 # Check for a fully-functional sed program, that truncates
 # as few characters as possible.  Prefer GNU sed if found.
@@ -6604,23 +6347,22 @@ AC_CACHE_VAL(lt_cv_path_SED,
 # Then use that list of sed's as ones to test for truncation.
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for lt_ac_prog in sed gsed; do
     for ac_exec_ext in '' $ac_executable_extensions; do
-      if AS_EXECUTABLE_P(["$as_dir/$lt_ac_prog$ac_exec_ext"]); then
+      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
         lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
       fi
     done
   done
 done
-IFS=$as_save_IFS
 lt_ac_max=0
 lt_ac_count=0
 # Add /usr/xpg4/bin/sed as it is typically found on Solaris
 # along with /bin/sed that truncates output.
 for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
   test ! -f $lt_ac_sed && continue
   cat /dev/null > conftest.in
   lt_ac_count=0
@@ -6643,17 +6385,16 @@ for lt_ac_sed in $lt_ac_sed_list /usr/xp
     if test $lt_ac_count -gt $lt_ac_max; then
       lt_ac_max=$lt_ac_count
       lt_cv_path_SED=$lt_ac_sed
     fi
   done
 done
 ])
 SED=$lt_cv_path_SED
-AC_SUBST([SED])
 AC_MSG_RESULT([$SED])
 ])
 
 # Copyright (C) 2002, 2003, 2005, 2006  Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
deleted file mode 100644
--- a/toolkit/crashreporter/google-breakpad/src/breakpad_googletest_includes.h
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright (c) 2009, Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-#ifndef BREAKPAD_GOOGLETEST_INCLUDES_H__
-#define BREAKPAD_GOOGLETEST_INCLUDES_H__
-
-#include "testing/gtest/include/gtest/gtest.h"
-#include "testing/include/gmock/gmock.h"
-
-#endif  // BREAKPAD_GOOGLETEST_INCLUDES_H__
--- a/toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.cc
+++ b/toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.cc
@@ -31,17 +31,16 @@
 
 #include <signal.h>
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <unistd.h>
 
 #include <cassert>
 #include <cstdlib>
-#include <cstdio>
 #include <ctime>
 #include <linux/limits.h>
 
 #include "client/linux/handler/exception_handler.h"
 #include "common/linux/guid_creator.h"
 #include "google_breakpad/common/minidump_format.h"
 
 namespace google_breakpad {
@@ -77,25 +76,16 @@ ExceptionHandler::ExceptionHandler(const
                                    bool install_handler)
     : filter_(filter),
       callback_(callback),
       callback_context_(callback_context),
       dump_path_(),
       installed_handler_(install_handler) {
   set_dump_path(dump_path);
 
-  act_.sa_handler = HandleException;
-  act_.sa_flags = SA_ONSTACK;
-  sigemptyset(&act_.sa_mask);
-  // now, make sure we're blocking all the signals we are handling
-  // when we're handling any of them
-  for ( size_t i = 0; i < sizeof(SigTable) / sizeof(SigTable[0]); ++i) {
-    sigaddset(&act_.sa_mask, SigTable[i]);
-  }
-
   if (install_handler) {
     SetupHandler();
     pthread_mutex_lock(&handler_stack_mutex_);
     if (handler_stack_ == NULL)
       handler_stack_ = new std::vector<ExceptionHandler *>;
     handler_stack_->push_back(this);
     pthread_mutex_unlock(&handler_stack_mutex_);
   }
@@ -154,36 +144,30 @@ void ExceptionHandler::SetupHandler() {
 
   if (sigaltstack(&sig_stack, NULL) < 0)
     return;
   for (size_t i = 0; i < sizeof(SigTable) / sizeof(SigTable[0]); ++i)
     SetupHandler(SigTable[i]);
 }
 
 void ExceptionHandler::SetupHandler(int signo) {
-
-  // We're storing pointers to the old signal action
-  // structure, rather than copying the structure
-  // because we can't count on the sa_mask field to
-  // be scalar.
-  struct sigaction *old_act = &old_actions_[signo];
-
-  if (sigaction(signo, &act_, old_act) < 0)
-   return;
+  struct sigaction act, old_act;
+  act.sa_handler = HandleException;
+  act.sa_flags = SA_ONSTACK;
+  if (sigaction(signo, &act, &old_act) < 0)
+    return;
+  old_handlers_[signo] = old_act.sa_handler;
 }
 
 void ExceptionHandler::TeardownHandler(int signo) {
-  TeardownHandler(signo, NULL);
-}
-
-void ExceptionHandler::TeardownHandler(int signo, struct sigaction *final_handler) {
-  if (old_actions_[signo].sa_handler) {
-    struct sigaction *act = &old_actions_[signo];
-    sigaction(signo, act, final_handler);
-    memset(&old_actions_[signo], 0x0, sizeof(struct sigaction));
+  if (old_handlers_.find(signo) != old_handlers_.end()) {
+    struct sigaction act;
+    act.sa_handler = old_handlers_[signo];
+    act.sa_flags = 0;
+    sigaction(signo, &act, 0);
   }
 }
 
 void ExceptionHandler::TeardownAllHandler() {
   for (size_t i = 0; i < sizeof(SigTable) / sizeof(SigTable[0]); ++i) {
     TeardownHandler(SigTable[i]);
   }
 }
@@ -204,43 +188,30 @@ void ExceptionHandler::HandleException(i
                 :"=m"(current_ebp));
 
   pthread_mutex_lock(&handler_stack_mutex_);
   ExceptionHandler *current_handler =
     handler_stack_->at(handler_stack_->size() - ++handler_stack_index_);
   pthread_mutex_unlock(&handler_stack_mutex_);
 
   // Restore original handler.
-  struct sigaction old_action;
-  current_handler->TeardownHandler(signo, &old_action);
+  current_handler->TeardownHandler(signo);
 
   struct sigcontext *sig_ctx = NULL;
   if (current_handler->InternalWriteMinidump(signo, current_ebp, &sig_ctx)) {
     // Fully handled this exception, safe to exit.
     exit(EXIT_FAILURE);
   } else {
     // Exception not fully handled, will call the next handler in stack to
     // process it.
-    if (old_action.sa_handler != NULL && sig_ctx != NULL) {
-
-      // Have our own typedef, because of the comment above w.r.t signal
-      // context on the stack
-      typedef void (*SignalHandler)(int signo, struct sigcontext);
-
-      SignalHandler old_handler =
-          reinterpret_cast<SignalHandler>(old_action.sa_handler);
-
-      sigset_t old_set;
-      // Use SIG_BLOCK here because we don't want to unblock a signal
-      // that the signal handler we're currently in needs to block
-      sigprocmask(SIG_BLOCK, &old_action.sa_mask, &old_set);
+    typedef void (*SignalHandler)(int signo, struct sigcontext);
+    SignalHandler old_handler =
+      reinterpret_cast<SignalHandler>(current_handler->old_handlers_[signo]);
+    if (old_handler != NULL && sig_ctx != NULL)
       old_handler(signo, *sig_ctx);
-      sigprocmask(SIG_SETMASK, &old_set, NULL);
-    }
-
   }
 
   pthread_mutex_lock(&handler_stack_mutex_);
   current_handler->SetupHandler(signo);
   --handler_stack_index_;
   // All the handlers in stack have been invoked to handle the exception,
   // normally the process should be terminated and should not reach here.
   // In case we got here, ask the OS to handle it to avoid endless loop,
@@ -271,17 +242,17 @@ bool ExceptionHandler::InternalWriteMini
                     "failed to block signals.\n");
   }
 
   success = minidump_generator_.WriteMinidumpToFile(
                      next_minidump_path_c_, signo, sighandler_ebp, sig_ctx);
 
   // Unblock the signals.
   if (blocked) {
-    sigprocmask(SIG_SETMASK, &sig_old, NULL);
+    sigprocmask(SIG_SETMASK, &sig_old, &sig_old);
   }
 
   if (callback_)
     success = callback_(dump_path_c_, next_minidump_id_c_,
                           callback_context_, success);
   return success;
 }
 
--- a/toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.h
+++ b/toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.h
@@ -31,17 +31,16 @@
 
 #ifndef CLIENT_LINUX_HANDLER_EXCEPTION_HANDLER_H__
 #define CLIENT_LINUX_HANDLER_EXCEPTION_HANDLER_H__
 
 #include <pthread.h>
 
 #include <map>
 #include <string>
-#include <signal.h>
 #include <vector>
 
 #include "client/linux/handler/minidump_generator.h"
 
 // Context information when exception occured.
 struct sigcontex;
 
 namespace google_breakpad {
@@ -142,18 +141,16 @@ class ExceptionHandler {
 
  private:
   // Setup crash handler.
   void SetupHandler();
   // Setup signal handler for a signal.
   void SetupHandler(int signo);
   // Teardown the handler for a signal.
   void TeardownHandler(int signo);
-  // Teardown the handler for a signal.
-  void TeardownHandler(int signo, struct sigaction *old);
   // Teardown all handlers.
   void TeardownAllHandler();
 
   // Signal handler.
   static void HandleException(int signo);
 
   // If called from a signal handler, sighandler_ebp is the ebp of
   // that signal handler's frame, and sig_ctx is an out parameter
@@ -190,37 +187,31 @@ class ExceptionHandler {
   const char *dump_path_c_;
   const char *next_minidump_id_c_;
   const char *next_minidump_path_c_;
 
   // True if the ExceptionHandler installed an unhandled exception filter
   // when created (with an install_handler parameter set to true).
   bool installed_handler_;
 
+  // Keep the previous handlers for the signal.
+  typedef void (*sighandler_t)(int);
+  std::map<int, sighandler_t> old_handlers_;
+
   // The global exception handler stack. This is need becuase there may exist
   // multiple ExceptionHandler instances in a process. Each will have itself
   // registered in this stack.
   static std::vector<ExceptionHandler *> *handler_stack_;
   // The index of the handler that should handle the next exception.
   static int handler_stack_index_;
   static pthread_mutex_t handler_stack_mutex_;
 
   // The minidump generator.
   MinidumpGenerator minidump_generator_;
 
   // disallow copy ctor and operator=
   explicit ExceptionHandler(const ExceptionHandler &);
   void operator=(const ExceptionHandler &);
-
-  // The sigactions structure we use for each signal
-  struct sigaction act_;
-
-
-  // Keep the previous handlers for the signal.
-  // We're wasting a bit of memory here since we only change
-  // the handler for some signals but i want to avoid allocating
-  // memory in the signal handler
-  struct sigaction old_actions_[NSIG];
 };
 
 }  // namespace google_breakpad
 
 #endif  // CLIENT_LINUX_HANDLER_EXCEPTION_HANDLER_H__
--- a/toolkit/crashreporter/google-breakpad/src/client/linux/handler/minidump_generator.cc
+++ b/toolkit/crashreporter/google-breakpad/src/client/linux/handler/minidump_generator.cc
@@ -34,17 +34,16 @@
 #include <signal.h>
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <unistd.h>
 #include <sys/utsname.h>
 #include <sys/wait.h>
 
 #include <cstdlib>
-#include <cstdio>
 #include <ctime>
 #include <string.h>
 
 #include "common/linux/file_id.h"
 #include "client/linux/handler/linux_thread.h"
 #include "client/minidump_file_writer.h"
 #include "client/minidump_file_writer-inl.h"
 #include "google_breakpad/common/minidump_format.h"
deleted file mode 100644
--- a/toolkit/crashreporter/google-breakpad/src/client/mac/Breakpad.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,1925 +0,0 @@
-// !$*UTF8*$!
-{
-	archiveVersion = 1;
-	classes = {
-	};
-	objectVersion = 42;
-	objects = {
-
-/* Begin PBXAggregateTarget section */
-		F94585840F782326009A47BF /* All */ = {
-			isa = PBXAggregateTarget;
-			buildConfigurationList = F94585930F78235C009A47BF /* Build configuration list for PBXAggregateTarget "All" */;
-			buildPhases = (
-			);
-			dependencies = (
-				F94585880F78232B009A47BF /* PBXTargetDependency */,
-				F945858A0F78232E009A47BF /* PBXTargetDependency */,
-				F945858C0F782330009A47BF /* PBXTargetDependency */,
-				F945858E0F782333009A47BF /* PBXTargetDependency */,
-				F94585900F782336009A47BF /* PBXTargetDependency */,
-				F93DE3A70F830D1D00608B94 /* PBXTargetDependency */,
-			);
-			name = All;
-			productName = All;
-		};
-/* End PBXAggregateTarget section */
-
-/* Begin PBXBuildFile section */
-		3329D4ED0FA16D820007BBC5 /* Breakpad.nib in Resources */ = {isa = PBXBuildFile; fileRef = 3329D4EC0FA16D820007BBC5 /* Breakpad.nib */; };
-		33880C800F9E097100817F82 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 33880C7E0F9E097100817F82 /* InfoPlist.strings */; };
-		4084699D0F5D9CF900FDCA37 /* crash_report_sender.icns in Resources */ = {isa = PBXBuildFile; fileRef = 4084699C0F5D9CF900FDCA37 /* crash_report_sender.icns */; };
-		8DC2EF570486A6940098B216 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */; };
-		F91AF5D00FD60393009D8BE2 /* BreakpadFramework_Test.mm in Sources */ = {isa = PBXBuildFile; fileRef = F91AF5CF0FD60393009D8BE2 /* BreakpadFramework_Test.mm */; };
-		F91AF6210FD60784009D8BE2 /* Breakpad.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8DC2EF5B0486A6940098B216 /* Breakpad.framework */; };
-		F9286B3A0F7EB25800A4DCC8 /* InspectorMain.mm in Sources */ = {isa = PBXBuildFile; fileRef = F9286B390F7EB25800A4DCC8 /* InspectorMain.mm */; };
-		F92C53B80ECCE7B3009BE4BA /* Inspector.mm in Sources */ = {isa = PBXBuildFile; fileRef = F92C53B70ECCE7B3009BE4BA /* Inspector.mm */; };
-		F92C554C0ECCF534009BE4BA /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D69BFE84028FC02AAC07 /* Foundation.framework */; };
-		F92C55D00ECD0064009BE4BA /* Breakpad.h in Headers */ = {isa = PBXBuildFile; fileRef = F92C55CE0ECD0064009BE4BA /* Breakpad.h */; settings = {ATTRIBUTES = (Public, ); }; };
-		F92C55D10ECD0064009BE4BA /* Breakpad.mm in Sources */ = {isa = PBXBuildFile; fileRef = F92C55CF0ECD0064009BE4BA /* Breakpad.mm */; };
-		F92C56330ECD0DF1009BE4BA /* OnDemandServer.h in Headers */ = {isa = PBXBuildFile; fileRef = F92C56310ECD0DF1009BE4BA /* OnDemandServer.h */; };
-		F92C56340ECD0DF1009BE4BA /* OnDemandServer.mm in Sources */ = {isa = PBXBuildFile; fileRef = F92C56320ECD0DF1009BE4BA /* OnDemandServer.mm */; };
-		F92C563F0ECD10CA009BE4BA /* convert_UTF.c in Sources */ = {isa = PBXBuildFile; fileRef = F92C53870ECCE6C0009BE4BA /* convert_UTF.c */; };
-		F92C56400ECD10CA009BE4BA /* dynamic_images.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C536B0ECCE3FD009BE4BA /* dynamic_images.cc */; };
-		F92C56410ECD10CA009BE4BA /* file_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53740ECCE635009BE4BA /* file_id.cc */; };
-		F92C56420ECD10CA009BE4BA /* macho_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C537A0ECCE635009BE4BA /* macho_id.cc */; };
-		F92C56430ECD10CA009BE4BA /* macho_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C537C0ECCE635009BE4BA /* macho_utilities.cc */; };
-		F92C56440ECD10CA009BE4BA /* macho_walker.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C537E0ECCE635009BE4BA /* macho_walker.cc */; };
-		F92C56450ECD10CA009BE4BA /* MachIPC.mm in Sources */ = {isa = PBXBuildFile; fileRef = F92C53790ECCE635009BE4BA /* MachIPC.mm */; };
-		F92C56460ECD10CA009BE4BA /* minidump_file_writer.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C538F0ECCE70A009BE4BA /* minidump_file_writer.cc */; };
-		F92C56470ECD10CA009BE4BA /* minidump_generator.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C536F0ECCE3FD009BE4BA /* minidump_generator.cc */; };
-		F92C56480ECD10CA009BE4BA /* SimpleStringDictionary.mm in Sources */ = {isa = PBXBuildFile; fileRef = F92C53810ECCE635009BE4BA /* SimpleStringDictionary.mm */; };
-		F92C56490ECD10CA009BE4BA /* string_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53820ECCE635009BE4BA /* string_utilities.cc */; };
-		F92C564A0ECD10CA009BE4BA /* string_conversion.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53850ECCE6AD009BE4BA /* string_conversion.cc */; };
-		F92C564C0ECD10DD009BE4BA /* breakpadUtilities.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F92C563C0ECD10B3009BE4BA /* breakpadUtilities.dylib */; };
-		F92C56570ECD113E009BE4BA /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F92C554A0ECCF530009BE4BA /* Carbon.framework */; };
-		F92C565C0ECD1158009BE4BA /* breakpadUtilities.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F92C563C0ECD10B3009BE4BA /* breakpadUtilities.dylib */; };
-		F92C565F0ECD116B009BE4BA /* protected_memory_allocator.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53720ECCE3FD009BE4BA /* protected_memory_allocator.cc */; };
-		F92C56630ECD1179009BE4BA /* exception_handler.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C536D0ECCE3FD009BE4BA /* exception_handler.cc */; };
-		F92C56650ECD1185009BE4BA /* breakpadUtilities.dylib in Resources */ = {isa = PBXBuildFile; fileRef = F92C563C0ECD10B3009BE4BA /* breakpadUtilities.dylib */; };
-		F92C568A0ECD15F9009BE4BA /* Inspector in Resources */ = {isa = PBXBuildFile; fileRef = F92C53540ECCE349009BE4BA /* Inspector */; };
-		F92C56A90ECE04C5009BE4BA /* crash_report_sender.m in Sources */ = {isa = PBXBuildFile; fileRef = F92C56A80ECE04C5009BE4BA /* crash_report_sender.m */; };
-		F93803CD0F8083B7004D428B /* dynamic_images.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C536B0ECCE3FD009BE4BA /* dynamic_images.cc */; };
-		F93803CE0F8083B7004D428B /* exception_handler.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C536D0ECCE3FD009BE4BA /* exception_handler.cc */; };
-		F93803CF0F8083B7004D428B /* minidump_generator.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C536F0ECCE3FD009BE4BA /* minidump_generator.cc */; };
-		F93803D00F8083B7004D428B /* minidump_file_writer.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C538F0ECCE70A009BE4BA /* minidump_file_writer.cc */; };
-		F93803D10F8083B7004D428B /* convert_UTF.c in Sources */ = {isa = PBXBuildFile; fileRef = F92C53870ECCE6C0009BE4BA /* convert_UTF.c */; };
-		F93803D20F8083B7004D428B /* string_conversion.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53850ECCE6AD009BE4BA /* string_conversion.cc */; };
-		F93803D30F8083B7004D428B /* file_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53740ECCE635009BE4BA /* file_id.cc */; };
-		F93803D40F8083B7004D428B /* macho_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C537A0ECCE635009BE4BA /* macho_id.cc */; };
-		F93803D50F8083B7004D428B /* macho_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C537C0ECCE635009BE4BA /* macho_utilities.cc */; };
-		F93803D60F8083B7004D428B /* macho_walker.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C537E0ECCE635009BE4BA /* macho_walker.cc */; };
-		F93803D70F8083B7004D428B /* string_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53820ECCE635009BE4BA /* string_utilities.cc */; };
-		F93803DA0F8083D8004D428B /* minidump_generator_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = F93803D90F8083D8004D428B /* minidump_generator_test.cc */; };
-		F93DE2D80F82A70E00608B94 /* minidump_file_writer_unittest.cc in Sources */ = {isa = PBXBuildFile; fileRef = F93DE2D70F82A70E00608B94 /* minidump_file_writer_unittest.cc */; };
-		F93DE2D90F82A73500608B94 /* minidump_file_writer.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C538F0ECCE70A009BE4BA /* minidump_file_writer.cc */; };
-		F93DE2DA0F82A73500608B94 /* convert_UTF.c in Sources */ = {isa = PBXBuildFile; fileRef = F92C53870ECCE6C0009BE4BA /* convert_UTF.c */; };
-		F93DE2DB0F82A73500608B94 /* string_conversion.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53850ECCE6AD009BE4BA /* string_conversion.cc */; };
-		F93DE3350F82C66B00608B94 /* dynamic_images.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C536B0ECCE3FD009BE4BA /* dynamic_images.cc */; };
-		F93DE3360F82C66B00608B94 /* exception_handler.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C536D0ECCE3FD009BE4BA /* exception_handler.cc */; };
-		F93DE3370F82C66B00608B94 /* minidump_generator.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C536F0ECCE3FD009BE4BA /* minidump_generator.cc */; };
-		F93DE3380F82C66B00608B94 /* minidump_file_writer.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C538F0ECCE70A009BE4BA /* minidump_file_writer.cc */; };
-		F93DE3390F82C66B00608B94 /* convert_UTF.c in Sources */ = {isa = PBXBuildFile; fileRef = F92C53870ECCE6C0009BE4BA /* convert_UTF.c */; };
-		F93DE33A0F82C66B00608B94 /* string_conversion.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53850ECCE6AD009BE4BA /* string_conversion.cc */; };
-		F93DE33B0F82C66B00608B94 /* file_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53740ECCE635009BE4BA /* file_id.cc */; };
-		F93DE33C0F82C66B00608B94 /* macho_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C537A0ECCE635009BE4BA /* macho_id.cc */; };
-		F93DE33D0F82C66B00608B94 /* macho_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C537C0ECCE635009BE4BA /* macho_utilities.cc */; };
-		F93DE33E0F82C66B00608B94 /* macho_walker.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C537E0ECCE635009BE4BA /* macho_walker.cc */; };
-		F93DE33F0F82C66B00608B94 /* string_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53820ECCE635009BE4BA /* string_utilities.cc */; };
-		F93DE3410F82C68300608B94 /* exception_handler_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = F93DE3400F82C68300608B94 /* exception_handler_test.cc */; };
-		F945849E0F280E3C009A47BF /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = F945849C0F280E3C009A47BF /* Localizable.strings */; };
-		F9C44DB20EF07288003AEBAA /* Controller.m in Sources */ = {isa = PBXBuildFile; fileRef = F9C44DAC0EF07288003AEBAA /* Controller.m */; };
-		F9C44DB30EF07288003AEBAA /* crashduringload in Resources */ = {isa = PBXBuildFile; fileRef = F9C44DAD0EF07288003AEBAA /* crashduringload */; };
-		F9C44DB40EF07288003AEBAA /* crashInMain in Resources */ = {isa = PBXBuildFile; fileRef = F9C44DAE0EF07288003AEBAA /* crashInMain */; };
-		F9C44DB60EF07288003AEBAA /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = F9C44DB00EF07288003AEBAA /* main.m */; };
-		F9C44DB70EF07288003AEBAA /* TestClass.mm in Sources */ = {isa = PBXBuildFile; fileRef = F9C44DB10EF07288003AEBAA /* TestClass.mm */; };
-		F9C44DBC0EF072A0003AEBAA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = F9C44DB80EF072A0003AEBAA /* InfoPlist.strings */; };
-		F9C44DBD0EF072A0003AEBAA /* MainMenu.nib in Resources */ = {isa = PBXBuildFile; fileRef = F9C44DBA0EF072A0003AEBAA /* MainMenu.nib */; };
-		F9C44E000EF077CD003AEBAA /* Breakpad.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8DC2EF5B0486A6940098B216 /* Breakpad.framework */; };
-		F9C44E3C0EF08B12003AEBAA /* Breakpad.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 8DC2EF5B0486A6940098B216 /* Breakpad.framework */; };
-		F9C44E980EF09F56003AEBAA /* crash_report_sender.app in Resources */ = {isa = PBXBuildFile; fileRef = F92C56A00ECE04A7009BE4BA /* crash_report_sender.app */; };
-		F9C44EA20EF09F93003AEBAA /* HTTPMultipartUpload.m in Sources */ = {isa = PBXBuildFile; fileRef = F92C53770ECCE635009BE4BA /* HTTPMultipartUpload.m */; };
-		F9C44EE50EF0A006003AEBAA /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F9C44EE40EF0A006003AEBAA /* SystemConfiguration.framework */; };
-		F9C44EE90EF0A3C1003AEBAA /* GTMLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = F9C44EE80EF0A3C1003AEBAA /* GTMLogger.m */; };
-		F9C77DE20F7DD7E30045F7DB /* SimpleStringDictionaryTest.mm in Sources */ = {isa = PBXBuildFile; fileRef = F9C77DE10F7DD7E30045F7DB /* SimpleStringDictionaryTest.mm */; };
-		F9C77DE40F7DD82F0045F7DB /* SimpleStringDictionary.mm in Sources */ = {isa = PBXBuildFile; fileRef = F92C53810ECCE635009BE4BA /* SimpleStringDictionary.mm */; };
-		F9C77E130F7DDF810045F7DB /* GTMSenTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = F9C77E120F7DDF810045F7DB /* GTMSenTestCase.m */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
-		F91AF6370FD60A74009D8BE2 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = 8DC2EF4F0486A6940098B216;
-			remoteInfo = Breakpad;
-		};
-		F92C564D0ECD10E5009BE4BA /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = F92C563B0ECD10B3009BE4BA;
-			remoteInfo = breakpadUtilities;
-		};
-		F92C56850ECD15EF009BE4BA /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = F92C563B0ECD10B3009BE4BA;
-			remoteInfo = breakpadUtilities;
-		};
-		F92C56870ECD15F1009BE4BA /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = F92C53530ECCE349009BE4BA;
-			remoteInfo = Inspector;
-		};
-		F93DE2FB0F82C3C600608B94 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = F93803BD0F80820F004D428B;
-			remoteInfo = generator_test;
-		};
-		F93DE36F0F82CC1300608B94 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = F93DE32B0F82C55600608B94;
-			remoteInfo = handler_test;
-		};
-		F93DE3A60F830D1D00608B94 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = F9C77DD90F7DD5CF0045F7DB;
-			remoteInfo = UnitTests;
-		};
-		F94585870F78232B009A47BF /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = 8DC2EF4F0486A6940098B216;
-			remoteInfo = Breakpad;
-		};
-		F94585890F78232E009A47BF /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = F92C53530ECCE349009BE4BA;
-			remoteInfo = Inspector;
-		};
-		F945858B0F782330009A47BF /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = F92C563B0ECD10B3009BE4BA;
-			remoteInfo = breakpadUtilities;
-		};
-		F945858D0F782333009A47BF /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = F92C569F0ECE04A7009BE4BA;
-			remoteInfo = crash_report_sender;
-		};
-		F945858F0F782336009A47BF /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = F9C44DA40EF060A8003AEBAA;
-			remoteInfo = BreakpadTest;
-		};
-		F9C44E190EF0790F003AEBAA /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = 8DC2EF4F0486A6940098B216;
-			remoteInfo = Breakpad;
-		};
-		F9C44E960EF09F4B003AEBAA /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = F92C569F0ECE04A7009BE4BA;
-			remoteInfo = crash_report_sender;
-		};
-/* End PBXContainerItemProxy section */
-
-/* Begin PBXCopyFilesBuildPhase section */
-		F9C44E410EF08B17003AEBAA /* Copy Frameworks */ = {
-			isa = PBXCopyFilesBuildPhase;
-			buildActionMask = 2147483647;
-			dstPath = "";
-			dstSubfolderSpec = 10;
-			files = (
-				F9C44E3C0EF08B12003AEBAA /* Breakpad.framework in Copy Frameworks */,
-			);
-			name = "Copy Frameworks";
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXCopyFilesBuildPhase section */
-
-/* Begin PBXFileReference section */
-		0867D69BFE84028FC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
-		0867D6A5FE840307C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
-		1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
-		32DBCF5E0370ADEE00C91783 /* Breakpad_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Breakpad_Prefix.pch; path = Framework/Breakpad_Prefix.pch; sourceTree = "<group>"; };
-		3329D4EC0FA16D820007BBC5 /* Breakpad.nib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = Breakpad.nib; path = sender/Breakpad.nib; sourceTree = "<group>"; };
-		33880C7F0F9E097100817F82 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = sender/English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
-		4084699C0F5D9CF900FDCA37 /* crash_report_sender.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = crash_report_sender.icns; path = sender/crash_report_sender.icns; sourceTree = "<group>"; };
-		8DC2EF5B0486A6940098B216 /* Breakpad.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Breakpad.framework; sourceTree = BUILT_PRODUCTS_DIR; };
-		F91AF5CF0FD60393009D8BE2 /* BreakpadFramework_Test.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = BreakpadFramework_Test.mm; path = tests/BreakpadFramework_Test.mm; sourceTree = "<group>"; };
-		F9286B380F7EB25800A4DCC8 /* Inspector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Inspector.h; path = crash_generation/Inspector.h; sourceTree = "<group>"; };
-		F9286B390F7EB25800A4DCC8 /* InspectorMain.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = InspectorMain.mm; path = crash_generation/InspectorMain.mm; sourceTree = "<group>"; };
-		F92C53540ECCE349009BE4BA /* Inspector */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = Inspector; sourceTree = BUILT_PRODUCTS_DIR; };
-		F92C53670ECCE3FD009BE4BA /* breakpad_exc_server.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = breakpad_exc_server.c; path = handler/breakpad_exc_server.c; sourceTree = SOURCE_ROOT; };
-		F92C53680ECCE3FD009BE4BA /* breakpad_exc_server.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = breakpad_exc_server.h; path = handler/breakpad_exc_server.h; sourceTree = SOURCE_ROOT; };
-		F92C53690ECCE3FD009BE4BA /* breakpad_nlist_64.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = breakpad_nlist_64.cc; path = handler/breakpad_nlist_64.cc; sourceTree = SOURCE_ROOT; };
-		F92C536A0ECCE3FD009BE4BA /* breakpad_nlist_64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = breakpad_nlist_64.h; path = handler/breakpad_nlist_64.h; sourceTree = SOURCE_ROOT; };
-		F92C536B0ECCE3FD009BE4BA /* dynamic_images.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dynamic_images.cc; path = handler/dynamic_images.cc; sourceTree = SOURCE_ROOT; };
-		F92C536C0ECCE3FD009BE4BA /* dynamic_images.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dynamic_images.h; path = handler/dynamic_images.h; sourceTree = SOURCE_ROOT; };
-		F92C536D0ECCE3FD009BE4BA /* exception_handler.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = exception_handler.cc; path = handler/exception_handler.cc; sourceTree = SOURCE_ROOT; };
-		F92C536E0ECCE3FD009BE4BA /* exception_handler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = exception_handler.h; path = handler/exception_handler.h; sourceTree = SOURCE_ROOT; };
-		F92C536F0ECCE3FD009BE4BA /* minidump_generator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = minidump_generator.cc; path = handler/minidump_generator.cc; sourceTree = SOURCE_ROOT; };
-		F92C53700ECCE3FD009BE4BA /* minidump_generator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = minidump_generator.h; path = handler/minidump_generator.h; sourceTree = SOURCE_ROOT; };
-		F92C53720ECCE3FD009BE4BA /* protected_memory_allocator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = protected_memory_allocator.cc; path = handler/protected_memory_allocator.cc; sourceTree = SOURCE_ROOT; };
-		F92C53730ECCE3FD009BE4BA /* protected_memory_allocator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = protected_memory_allocator.h; path = handler/protected_memory_allocator.h; sourceTree = SOURCE_ROOT; };
-		F92C53740ECCE635009BE4BA /* file_id.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = file_id.cc; path = ../../common/mac/file_id.cc; sourceTree = SOURCE_ROOT; };
-		F92C53750ECCE635009BE4BA /* file_id.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = file_id.h; path = ../../common/mac/file_id.h; sourceTree = SOURCE_ROOT; };
-		F92C53760ECCE635009BE4BA /* HTTPMultipartUpload.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HTTPMultipartUpload.h; path = ../../common/mac/HTTPMultipartUpload.h; sourceTree = SOURCE_ROOT; };
-		F92C53770ECCE635009BE4BA /* HTTPMultipartUpload.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HTTPMultipartUpload.m; path = ../../common/mac/HTTPMultipartUpload.m; sourceTree = SOURCE_ROOT; };
-		F92C53780ECCE635009BE4BA /* MachIPC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MachIPC.h; path = ../../common/mac/MachIPC.h; sourceTree = SOURCE_ROOT; };
-		F92C53790ECCE635009BE4BA /* MachIPC.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = MachIPC.mm; path = ../../common/mac/MachIPC.mm; sourceTree = SOURCE_ROOT; };
-		F92C537A0ECCE635009BE4BA /* macho_id.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = macho_id.cc; path = ../../common/mac/macho_id.cc; sourceTree = SOURCE_ROOT; };
-		F92C537B0ECCE635009BE4BA /* macho_id.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = macho_id.h; path = ../../common/mac/macho_id.h; sourceTree = SOURCE_ROOT; };
-		F92C537C0ECCE635009BE4BA /* macho_utilities.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = macho_utilities.cc; path = ../../common/mac/macho_utilities.cc; sourceTree = SOURCE_ROOT; };
-		F92C537D0ECCE635009BE4BA /* macho_utilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = macho_utilities.h; path = ../../common/mac/macho_utilities.h; sourceTree = SOURCE_ROOT; };
-		F92C537E0ECCE635009BE4BA /* macho_walker.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = macho_walker.cc; path = ../../common/mac/macho_walker.cc; sourceTree = SOURCE_ROOT; };
-		F92C537F0ECCE635009BE4BA /* macho_walker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = macho_walker.h; path = ../../common/mac/macho_walker.h; sourceTree = SOURCE_ROOT; };
-		F92C53800ECCE635009BE4BA /* SimpleStringDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SimpleStringDictionary.h; path = ../../common/mac/SimpleStringDictionary.h; sourceTree = SOURCE_ROOT; };
-		F92C53810ECCE635009BE4BA /* SimpleStringDictionary.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = SimpleStringDictionary.mm; path = ../../common/mac/SimpleStringDictionary.mm; sourceTree = SOURCE_ROOT; };
-		F92C53820ECCE635009BE4BA /* string_utilities.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = string_utilities.cc; path = ../../common/mac/string_utilities.cc; sourceTree = SOURCE_ROOT; };
-		F92C53830ECCE635009BE4BA /* string_utilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = string_utilities.h; path = ../../common/mac/string_utilities.h; sourceTree = SOURCE_ROOT; };
-		F92C53850ECCE6AD009BE4BA /* string_conversion.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = string_conversion.cc; path = ../../common/string_conversion.cc; sourceTree = SOURCE_ROOT; };
-		F92C53860ECCE6AD009BE4BA /* string_conversion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = string_conversion.h; path = ../../common/string_conversion.h; sourceTree = SOURCE_ROOT; };
-		F92C53870ECCE6C0009BE4BA /* convert_UTF.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = convert_UTF.c; path = ../../common/convert_UTF.c; sourceTree = SOURCE_ROOT; };
-		F92C53880ECCE6C0009BE4BA /* convert_UTF.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = convert_UTF.h; path = ../../common/convert_UTF.h; sourceTree = SOURCE_ROOT; };
-		F92C538E0ECCE70A009BE4BA /* minidump_file_writer-inl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "minidump_file_writer-inl.h"; path = "../minidump_file_writer-inl.h"; sourceTree = SOURCE_ROOT; };
-		F92C538F0ECCE70A009BE4BA /* minidump_file_writer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = minidump_file_writer.cc; path = ../minidump_file_writer.cc; sourceTree = SOURCE_ROOT; };
-		F92C53900ECCE70A009BE4BA /* minidump_file_writer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = minidump_file_writer.h; path = ../minidump_file_writer.h; sourceTree = SOURCE_ROOT; };
-		F92C53B70ECCE7B3009BE4BA /* Inspector.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = Inspector.mm; path = crash_generation/Inspector.mm; sourceTree = SOURCE_ROOT; };
-		F92C554A0ECCF530009BE4BA /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
-		F92C55CE0ECD0064009BE4BA /* Breakpad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Breakpad.h; path = Framework/Breakpad.h; sourceTree = "<group>"; };
-		F92C55CF0ECD0064009BE4BA /* Breakpad.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = Breakpad.mm; path = Framework/Breakpad.mm; sourceTree = "<group>"; };
-		F92C56310ECD0DF1009BE4BA /* OnDemandServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OnDemandServer.h; path = Framework/OnDemandServer.h; sourceTree = "<group>"; };
-		F92C56320ECD0DF1009BE4BA /* OnDemandServer.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = OnDemandServer.mm; path = Framework/OnDemandServer.mm; sourceTree = "<group>"; };
-		F92C563C0ECD10B3009BE4BA /* breakpadUtilities.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = breakpadUtilities.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
-		F92C56A00ECE04A7009BE4BA /* crash_report_sender.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = crash_report_sender.app; sourceTree = BUILT_PRODUCTS_DIR; };
-		F92C56A20ECE04A7009BE4BA /* crash_report_sender-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "crash_report_sender-Info.plist"; path = "sender/crash_report_sender-Info.plist"; sourceTree = "<group>"; };
-		F92C56A70ECE04C5009BE4BA /* crash_report_sender.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = crash_report_sender.h; path = sender/crash_report_sender.h; sourceTree = "<group>"; };
-		F92C56A80ECE04C5009BE4BA /* crash_report_sender.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = crash_report_sender.m; path = sender/crash_report_sender.m; sourceTree = "<group>"; };
-		F93803BE0F80820F004D428B /* generator_test */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = generator_test; sourceTree = BUILT_PRODUCTS_DIR; };
-		F93803D90F8083D8004D428B /* minidump_generator_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = minidump_generator_test.cc; path = handler/minidump_generator_test.cc; sourceTree = "<group>"; };
-		F93DE2D10F82A67300608B94 /* minidump_file_writer_unittest */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = minidump_file_writer_unittest; sourceTree = BUILT_PRODUCTS_DIR; };
-		F93DE2D70F82A70E00608B94 /* minidump_file_writer_unittest.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = minidump_file_writer_unittest.cc; path = ../minidump_file_writer_unittest.cc; sourceTree = SOURCE_ROOT; };
-		F93DE32C0F82C55600608B94 /* handler_test */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = handler_test; sourceTree = BUILT_PRODUCTS_DIR; };
-		F93DE3400F82C68300608B94 /* exception_handler_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = exception_handler_test.cc; path = handler/exception_handler_test.cc; sourceTree = "<group>"; };
-		F945849D0F280E3C009A47BF /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = sender/English.lproj/Localizable.strings; sourceTree = "<group>"; };
-		F945859D0F78241E009A47BF /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = Framework/Info.plist; sourceTree = "<group>"; };
-		F9C44DA50EF060A8003AEBAA /* BreakpadTest.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = BreakpadTest.app; sourceTree = BUILT_PRODUCTS_DIR; };
-		F9C44DAC0EF07288003AEBAA /* Controller.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Controller.m; path = testapp/Controller.m; sourceTree = "<group>"; };
-		F9C44DAD0EF07288003AEBAA /* crashduringload */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; name = crashduringload; path = testapp/crashduringload; sourceTree = "<group>"; };
-		F9C44DAE0EF07288003AEBAA /* crashInMain */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; name = crashInMain; path = testapp/crashInMain; sourceTree = "<group>"; };
-		F9C44DAF0EF07288003AEBAA /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = testapp/Info.plist; sourceTree = "<group>"; };
-		F9C44DB00EF07288003AEBAA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = testapp/main.m; sourceTree = "<group>"; };
-		F9C44DB10EF07288003AEBAA /* TestClass.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = TestClass.mm; path = testapp/TestClass.mm; sourceTree = "<group>"; };
-		F9C44DB90EF072A0003AEBAA /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = testapp/English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
-		F9C44DBB0EF072A0003AEBAA /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = testapp/English.lproj/MainMenu.nib; sourceTree = "<group>"; };
-		F9C44DBF0EF0778F003AEBAA /* Controller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Controller.h; path = testapp/Controller.h; sourceTree = "<group>"; };
-		F9C44DC00EF0778F003AEBAA /* TestClass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TestClass.h; path = testapp/TestClass.h; sourceTree = "<group>"; };
-		F9C44EE40EF0A006003AEBAA /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = /System/Library/Frameworks/SystemConfiguration.framework; sourceTree = "<absolute>"; };
-		F9C44EE70EF0A3C1003AEBAA /* GTMLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GTMLogger.h; path = ../../common/mac/GTMLogger.h; sourceTree = SOURCE_ROOT; };
-		F9C44EE80EF0A3C1003AEBAA /* GTMLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GTMLogger.m; path = ../../common/mac/GTMLogger.m; sourceTree = SOURCE_ROOT; };
-		F9C77DDA0F7DD5CF0045F7DB /* UnitTests.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = UnitTests.octest; sourceTree = BUILT_PRODUCTS_DIR; };
-		F9C77DDB0F7DD5CF0045F7DB /* UnitTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "UnitTests-Info.plist"; sourceTree = "<group>"; };
-		F9C77DE00F7DD7E30045F7DB /* SimpleStringDictionaryTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SimpleStringDictionaryTest.h; path = tests/SimpleStringDictionaryTest.h; sourceTree = "<group>"; };
-		F9C77DE10F7DD7E30045F7DB /* SimpleStringDictionaryTest.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = SimpleStringDictionaryTest.mm; path = tests/SimpleStringDictionaryTest.mm; sourceTree = "<group>"; };
-		F9C77E110F7DDF810045F7DB /* GTMSenTestCase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GTMSenTestCase.h; path = ../../common/mac/testing/GTMSenTestCase.h; sourceTree = SOURCE_ROOT; };
-		F9C77E120F7DDF810045F7DB /* GTMSenTestCase.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GTMSenTestCase.m; path = ../../common/mac/testing/GTMSenTestCase.m; sourceTree = SOURCE_ROOT; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
-		8DC2EF560486A6940098B216 /* Frameworks */ = {
-			isa = PBXFrameworksBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				F92C565C0ECD1158009BE4BA /* breakpadUtilities.dylib in Frameworks */,
-				8DC2EF570486A6940098B216 /* Cocoa.framework in Frameworks */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		F92C53520ECCE349009BE4BA /* Frameworks */ = {
-			isa = PBXFrameworksBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				F92C564C0ECD10DD009BE4BA /* breakpadUtilities.dylib in Frameworks */,
-				F92C554C0ECCF534009BE4BA /* Foundation.framework in Frameworks */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		F92C563A0ECD10B3009BE4BA /* Frameworks */ = {
-			isa = PBXFrameworksBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				F92C56570ECD113E009BE4BA /* Carbon.framework in Frameworks */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		F92C569E0ECE04A7009BE4BA /* Frameworks */ = {
-			isa = PBXFrameworksBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				F9C44EE50EF0A006003AEBAA /* SystemConfiguration.framework in Frameworks */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		F93803BC0F80820F004D428B /* Frameworks */ = {
-			isa = PBXFrameworksBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		F93DE2CF0F82A67300608B94 /* Frameworks */ = {
-			isa = PBXFrameworksBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		F93DE32A0F82C55600608B94 /* Frameworks */ = {
-			isa = PBXFrameworksBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		F9C44DA30EF060A8003AEBAA /* Frameworks */ = {
-			isa = PBXFrameworksBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				F9C44E000EF077CD003AEBAA /* Breakpad.framework in Frameworks */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		F9C77DD70F7DD5CF0045F7DB /* Frameworks */ = {
-			isa = PBXFrameworksBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				F91AF6210FD60784009D8BE2 /* Breakpad.framework in Frameworks */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
-		034768DFFF38A50411DB9C8B /* Products */ = {
-			isa = PBXGroup;
-			children = (
-				8DC2EF5B0486A6940098B216 /* Breakpad.framework */,
-				F92C53540ECCE349009BE4BA /* Inspector */,
-				F92C563C0ECD10B3009BE4BA /* breakpadUtilities.dylib */,
-				F92C56A00ECE04A7009BE4BA /* crash_report_sender.app */,
-				F9C44DA50EF060A8003AEBAA /* BreakpadTest.app */,
-				F9C77DDA0F7DD5CF0045F7DB /* UnitTests.octest */,
-				F93803BE0F80820F004D428B /* generator_test */,
-				F93DE2D10F82A67300608B94 /* minidump_file_writer_unittest */,
-				F93DE32C0F82C55600608B94 /* handler_test */,
-			);
-			name = Products;
-			sourceTree = "<group>";
-		};
-		0867D691FE84028FC02AAC07 /* Breakpad */ = {
-			isa = PBXGroup;
-			children = (
-				32DBCF5E0370ADEE00C91783 /* Breakpad_Prefix.pch */,
-				F92C538D0ECCE6F2009BE4BA /* client */,
-				F92C53600ECCE3D6009BE4BA /* common */,
-				0867D69AFE84028FC02AAC07 /* Frameworks */,
-				034768DFFF38A50411DB9C8B /* Products */,
-				F9C77DDB0F7DD5CF0045F7DB /* UnitTests-Info.plist */,
-			);
-			name = Breakpad;
-			sourceTree = "<group>";
-		};
-		0867D69AFE84028FC02AAC07 /* Frameworks */ = {
-			isa = PBXGroup;
-			children = (
-				F9C44EE40EF0A006003AEBAA /* SystemConfiguration.framework */,
-				F92C554A0ECCF530009BE4BA /* Carbon.framework */,
-				1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */,
-				0867D6A5FE840307C02AAC07 /* AppKit.framework */,
-				0867D69BFE84028FC02AAC07 /* Foundation.framework */,
-			);
-			name = Frameworks;
-			sourceTree = "<group>";
-		};
-		F92C53590ECCE3BB009BE4BA /* handler */ = {
-			isa = PBXGroup;
-			children = (
-				F93DE3400F82C68300608B94 /* exception_handler_test.cc */,
-				F93803D90F8083D8004D428B /* minidump_generator_test.cc */,
-				F92C53670ECCE3FD009BE4BA /* breakpad_exc_server.c */,
-				F92C53680ECCE3FD009BE4BA /* breakpad_exc_server.h */,
-				F92C53690ECCE3FD009BE4BA /* breakpad_nlist_64.cc */,
-				F92C536A0ECCE3FD009BE4BA /* breakpad_nlist_64.h */,
-				F92C536B0ECCE3FD009BE4BA /* dynamic_images.cc */,
-				F92C536C0ECCE3FD009BE4BA /* dynamic_images.h */,
-				F92C536D0ECCE3FD009BE4BA /* exception_handler.cc */,
-				F92C536E0ECCE3FD009BE4BA /* exception_handler.h */,
-				F92C536F0ECCE3FD009BE4BA /* minidump_generator.cc */,
-				F92C53700ECCE3FD009BE4BA /* minidump_generator.h */,
-				F92C53720ECCE3FD009BE4BA /* protected_memory_allocator.cc */,
-				F92C53730ECCE3FD009BE4BA /* protected_memory_allocator.h */,
-			);
-			name = handler;
-			sourceTree = "<group>";
-		};
-		F92C53600ECCE3D6009BE4BA /* common */ = {
-			isa = PBXGroup;
-			children = (
-				F92C53870ECCE6C0009BE4BA /* convert_UTF.c */,
-				F92C53880ECCE6C0009BE4BA /* convert_UTF.h */,
-				F92C53850ECCE6AD009BE4BA /* string_conversion.cc */,
-				F92C53860ECCE6AD009BE4BA /* string_conversion.h */,
-				F92C53840ECCE68D009BE4BA /* mac */,
-			);
-			name = common;
-			sourceTree = "<group>";
-		};
-		F92C53840ECCE68D009BE4BA /* mac */ = {
-			isa = PBXGroup;
-			children = (
-				F9C77E0F0F7DDF650045F7DB /* testing */,
-				F9C44EE70EF0A3C1003AEBAA /* GTMLogger.h */,
-				F9C44EE80EF0A3C1003AEBAA /* GTMLogger.m */,
-				F92C53740ECCE635009BE4BA /* file_id.cc */,
-				F92C53750ECCE635009BE4BA /* file_id.h */,
-				F92C53760ECCE635009BE4BA /* HTTPMultipartUpload.h */,
-				F92C53770ECCE635009BE4BA /* HTTPMultipartUpload.m */,
-				F92C53780ECCE635009BE4BA /* MachIPC.h */,
-				F92C53790ECCE635009BE4BA /* MachIPC.mm */,
-				F92C537A0ECCE635009BE4BA /* macho_id.cc */,
-				F92C537B0ECCE635009BE4BA /* macho_id.h */,
-				F92C537C0ECCE635009BE4BA /* macho_utilities.cc */,
-				F92C537D0ECCE635009BE4BA /* macho_utilities.h */,
-				F92C537E0ECCE635009BE4BA /* macho_walker.cc */,
-				F92C537F0ECCE635009BE4BA /* macho_walker.h */,
-				F92C53800ECCE635009BE4BA /* SimpleStringDictionary.h */,
-				F92C53810ECCE635009BE4BA /* SimpleStringDictionary.mm */,
-				F92C53820ECCE635009BE4BA /* string_utilities.cc */,
-				F92C53830ECCE635009BE4BA /* string_utilities.h */,
-			);
-			name = mac;
-			sourceTree = "<group>";
-		};
-		F92C538D0ECCE6F2009BE4BA /* client */ = {
-			isa = PBXGroup;
-			children = (
-				F92C53990ECCE78E009BE4BA /* mac */,
-				F92C538E0ECCE70A009BE4BA /* minidump_file_writer-inl.h */,
-				F92C538F0ECCE70A009BE4BA /* minidump_file_writer.cc */,
-				F92C53900ECCE70A009BE4BA /* minidump_file_writer.h */,
-				F93DE2D70F82A70E00608B94 /* minidump_file_writer_unittest.cc */,
-			);
-			name = client;
-			sourceTree = "<group>";
-		};
-		F92C53990ECCE78E009BE4BA /* mac */ = {
-			isa = PBXGroup;
-			children = (
-				F9C77DDF0F7DD7CF0045F7DB /* tests */,
-				F9C44DAB0EF0726F003AEBAA /* testapp */,
-				F92C56A60ECE04B6009BE4BA /* sender */,
-				F92C55CD0ECD0053009BE4BA /* Framework */,
-				F92C53B50ECCE799009BE4BA /* crash_generation */,
-				F92C53590ECCE3BB009BE4BA /* handler */,
-			);
-			name = mac;
-			sourceTree = "<group>";
-		};
-		F92C53B50ECCE799009BE4BA /* crash_generation */ = {
-			isa = PBXGroup;
-			children = (
-				F9286B380F7EB25800A4DCC8 /* Inspector.h */,
-				F9286B390F7EB25800A4DCC8 /* InspectorMain.mm */,
-				F92C53B70ECCE7B3009BE4BA /* Inspector.mm */,
-			);
-			name = crash_generation;
-			sourceTree = "<group>";
-		};
-		F92C55CD0ECD0053009BE4BA /* Framework */ = {
-			isa = PBXGroup;
-			children = (
-				F945859D0F78241E009A47BF /* Info.plist */,
-				F92C56310ECD0DF1009BE4BA /* OnDemandServer.h */,
-				F92C56320ECD0DF1009BE4BA /* OnDemandServer.mm */,
-				F92C55CE0ECD0064009BE4BA /* Breakpad.h */,
-				F92C55CF0ECD0064009BE4BA /* Breakpad.mm */,
-			);
-			name = Framework;
-			sourceTree = "<group>";
-		};
-		F92C56A60ECE04B6009BE4BA /* sender */ = {
-			isa = PBXGroup;
-			children = (
-				F92C56A70ECE04C5009BE4BA /* crash_report_sender.h */,
-				F92C56A80ECE04C5009BE4BA /* crash_report_sender.m */,
-				F945849C0F280E3C009A47BF /* Localizable.strings */,
-				33880C7E0F9E097100817F82 /* InfoPlist.strings */,
-				3329D4EC0FA16D820007BBC5 /* Breakpad.nib */,
-				4084699C0F5D9CF900FDCA37 /* crash_report_sender.icns */,
-				F92C56A20ECE04A7009BE4BA /* crash_report_sender-Info.plist */,
-			);
-			name = sender;
-			sourceTree = "<group>";
-		};
-		F9C44DAB0EF0726F003AEBAA /* testapp */ = {
-			isa = PBXGroup;
-			children = (
-				F9C44DBF0EF0778F003AEBAA /* Controller.h */,
-				F9C44DC00EF0778F003AEBAA /* TestClass.h */,
-				F9C44DB80EF072A0003AEBAA /* InfoPlist.strings */,
-				F9C44DBA0EF072A0003AEBAA /* MainMenu.nib */,
-				F9C44DAC0EF07288003AEBAA /* Controller.m */,
-				F9C44DAD0EF07288003AEBAA /* crashduringload */,
-				F9C44DAE0EF07288003AEBAA /* crashInMain */,
-				F9C44DAF0EF07288003AEBAA /* Info.plist */,
-				F9C44DB00EF07288003AEBAA /* main.m */,
-				F9C44DB10EF07288003AEBAA /* TestClass.mm */,
-			);
-			name = testapp;
-			sourceTree = "<group>";
-		};
-		F9C77DDF0F7DD7CF0045F7DB /* tests */ = {
-			isa = PBXGroup;
-			children = (
-				F9C77DE00F7DD7E30045F7DB /* SimpleStringDictionaryTest.h */,
-				F9C77DE10F7DD7E30045F7DB /* SimpleStringDictionaryTest.mm */,
-				F91AF5CF0FD60393009D8BE2 /* BreakpadFramework_Test.mm */,
-			);
-			name = tests;
-			sourceTree = "<group>";
-		};
-		F9C77E0F0F7DDF650045F7DB /* testing */ = {
-			isa = PBXGroup;
-			children = (
-				F9C77E110F7DDF810045F7DB /* GTMSenTestCase.h */,
-				F9C77E120F7DDF810045F7DB /* GTMSenTestCase.m */,
-			);
-			name = testing;
-			sourceTree = "<group>";
-		};
-/* End PBXGroup section */
-
-/* Begin PBXHeadersBuildPhase section */
-		8DC2EF500486A6940098B216 /* Headers */ = {
-			isa = PBXHeadersBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				F92C55D00ECD0064009BE4BA /* Breakpad.h in Headers */,
-				F92C56330ECD0DF1009BE4BA /* OnDemandServer.h in Headers */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		F92C56380ECD10B3009BE4BA /* Headers */ = {
-			isa = PBXHeadersBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXHeadersBuildPhase section */
-
-/* Begin PBXNativeTarget section */
-		8DC2EF4F0486A6940098B216 /* Breakpad */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = 1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "Breakpad" */;
-			buildPhases = (
-				F97A0E850ED4EC15008784D3 /* Change install name of breakpadUtilities */,
-				8DC2EF500486A6940098B216 /* Headers */,
-				8DC2EF520486A6940098B216 /* Resources */,
-				8DC2EF540486A6940098B216 /* Sources */,
-				8DC2EF560486A6940098B216 /* Frameworks */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				F92C56860ECD15EF009BE4BA /* PBXTargetDependency */,
-				F92C56880ECD15F1009BE4BA /* PBXTargetDependency */,
-				F9C44E970EF09F4B003AEBAA /* PBXTargetDependency */,
-			);
-			name = Breakpad;
-			productInstallPath = "$(HOME)/Library/Frameworks";
-			productName = Breakpad;
-			productReference = 8DC2EF5B0486A6940098B216 /* Breakpad.framework */;
-			productType = "com.apple.product-type.framework";
-		};
-		F92C53530ECCE349009BE4BA /* Inspector */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = F92C53580ECCE36D009BE4BA /* Build configuration list for PBXNativeTarget "Inspector" */;
-			buildPhases = (
-				F94584840F27FB40009A47BF /* Change install name of breakpadUtilities */,
-				F92C53510ECCE349009BE4BA /* Sources */,
-				F92C53520ECCE349009BE4BA /* Frameworks */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				F92C564E0ECD10E5009BE4BA /* PBXTargetDependency */,
-			);
-			name = Inspector;
-			productName = Inspector;
-			productReference = F92C53540ECCE349009BE4BA /* Inspector */;
-			productType = "com.apple.product-type.tool";
-		};
-		F92C563B0ECD10B3009BE4BA /* breakpadUtilities */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = F92C56670ECD11A3009BE4BA /* Build configuration list for PBXNativeTarget "breakpadUtilities" */;
-			buildPhases = (
-				F92C56380ECD10B3009BE4BA /* Headers */,
-				F92C56390ECD10B3009BE4BA /* Sources */,
-				F92C563A0ECD10B3009BE4BA /* Frameworks */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-			);
-			name = breakpadUtilities;
-			productName = breakpadUtilities;
-			productReference = F92C563C0ECD10B3009BE4BA /* breakpadUtilities.dylib */;
-			productType = "com.apple.product-type.library.dynamic";
-		};
-		F92C569F0ECE04A7009BE4BA /* crash_report_sender */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = F92C56A50ECE04A8009BE4BA /* Build configuration list for PBXNativeTarget "crash_report_sender" */;
-			buildPhases = (
-				F92C569C0ECE04A7009BE4BA /* Resources */,
-				F92C569D0ECE04A7009BE4BA /* Sources */,
-				F92C569E0ECE04A7009BE4BA /* Frameworks */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-			);
-			name = crash_report_sender;
-			productName = crash_report_sender;
-			productReference = F92C56A00ECE04A7009BE4BA /* crash_report_sender.app */;
-			productType = "com.apple.product-type.application";
-		};
-		F93803BD0F80820F004D428B /* generator_test */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = F93803C40F80822E004D428B /* Build configuration list for PBXNativeTarget "generator_test" */;
-			buildPhases = (
-				F93803BB0F80820F004D428B /* Sources */,
-				F93803BC0F80820F004D428B /* Frameworks */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-			);
-			name = generator_test;
-			productName = generator_test;
-			productReference = F93803BE0F80820F004D428B /* generator_test */;
-			productType = "com.apple.product-type.tool";
-		};
-		F93DE2D00F82A67300608B94 /* minidump_file_writer_unittest */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = F93DE2D60F82A67700608B94 /* Build configuration list for PBXNativeTarget "minidump_file_writer_unittest" */;
-			buildPhases = (
-				F93DE2CE0F82A67300608B94 /* Sources */,
-				F93DE2CF0F82A67300608B94 /* Frameworks */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-			);
-			name = minidump_file_writer_unittest;
-			productName = minidump_file_writer_unittest;
-			productReference = F93DE2D10F82A67300608B94 /* minidump_file_writer_unittest */;
-			productType = "com.apple.product-type.tool";
-		};
-		F93DE32B0F82C55600608B94 /* handler_test */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = F93DE3320F82C5D800608B94 /* Build configuration list for PBXNativeTarget "handler_test" */;
-			buildPhases = (
-				F93DE3290F82C55600608B94 /* Sources */,
-				F93DE32A0F82C55600608B94 /* Frameworks */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-			);
-			name = handler_test;
-			productName = handler_test;
-			productReference = F93DE32C0F82C55600608B94 /* handler_test */;
-			productType = "com.apple.product-type.tool";
-		};
-		F9C44DA40EF060A8003AEBAA /* BreakpadTest */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = F9C44DAA0EF060A9003AEBAA /* Build configuration list for PBXNativeTarget "BreakpadTest" */;
-			buildPhases = (
-				F9C44DA10EF060A8003AEBAA /* Resources */,
-				F9C44DA20EF060A8003AEBAA /* Sources */,
-				F9C44DA30EF060A8003AEBAA /* Frameworks */,
-				F9C44E410EF08B17003AEBAA /* Copy Frameworks */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				F9C44E1A0EF0790F003AEBAA /* PBXTargetDependency */,
-			);
-			name = BreakpadTest;
-			productName = BreakpadTest;
-			productReference = F9C44DA50EF060A8003AEBAA /* BreakpadTest.app */;
-			productType = "com.apple.product-type.application";
-		};
-		F9C77DD90F7DD5CF0045F7DB /* UnitTests */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = F9C77DDE0F7DD5D00045F7DB /* Build configuration list for PBXNativeTarget "UnitTests" */;
-			buildPhases = (
-				F9C77DD50F7DD5CF0045F7DB /* Resources */,
-				F9C77DD60F7DD5CF0045F7DB /* Sources */,
-				F9C77DD70F7DD5CF0045F7DB /* Frameworks */,
-				F9C77DD80F7DD5CF0045F7DB /* ShellScript */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				F93DE2FC0F82C3C600608B94 /* PBXTargetDependency */,
-				F93DE3700F82CC1300608B94 /* PBXTargetDependency */,
-				F91AF6380FD60A74009D8BE2 /* PBXTargetDependency */,
-			);
-			name = UnitTests;
-			productName = UnitTests;
-			productReference = F9C77DDA0F7DD5CF0045F7DB /* UnitTests.octest */;
-			productType = "com.apple.product-type.bundle";
-		};
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-		0867D690FE84028FC02AAC07 /* Project object */ = {
-			isa = PBXProject;
-			buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "Breakpad" */;
-			compatibilityVersion = "Xcode 2.4";
-			hasScannedForEncodings = 1;
-			mainGroup = 0867D691FE84028FC02AAC07 /* Breakpad */;
-			productRefGroup = 034768DFFF38A50411DB9C8B /* Products */;
-			projectDirPath = "";
-			projectRoot = "";
-			targets = (
-				8DC2EF4F0486A6940098B216 /* Breakpad */,
-				F92C53530ECCE349009BE4BA /* Inspector */,
-				F92C563B0ECD10B3009BE4BA /* breakpadUtilities */,
-				F92C569F0ECE04A7009BE4BA /* crash_report_sender */,
-				F9C44DA40EF060A8003AEBAA /* BreakpadTest */,
-				F94585840F782326009A47BF /* All */,
-				F9C77DD90F7DD5CF0045F7DB /* UnitTests */,
-				F93803BD0F80820F004D428B /* generator_test */,
-				F93DE2D00F82A67300608B94 /* minidump_file_writer_unittest */,
-				F93DE32B0F82C55600608B94 /* handler_test */,
-			);
-		};
-/* End PBXProject section */
-
-/* Begin PBXResourcesBuildPhase section */
-		8DC2EF520486A6940098B216 /* Resources */ = {
-			isa = PBXResourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				F9C44E980EF09F56003AEBAA /* crash_report_sender.app in Resources */,
-				F92C568A0ECD15F9009BE4BA /* Inspector in Resources */,
-				F92C56650ECD1185009BE4BA /* breakpadUtilities.dylib in Resources */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		F92C569C0ECE04A7009BE4BA /* Resources */ = {
-			isa = PBXResourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				F945849E0F280E3C009A47BF /* Localizable.strings in Resources */,
-				4084699D0F5D9CF900FDCA37 /* crash_report_sender.icns in Resources */,
-				33880C800F9E097100817F82 /* InfoPlist.strings in Resources */,
-				3329D4ED0FA16D820007BBC5 /* Breakpad.nib in Resources */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		F9C44DA10EF060A8003AEBAA /* Resources */ = {
-			isa = PBXResourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				F9C44DB30EF07288003AEBAA /* crashduringload in Resources */,
-				F9C44DB40EF07288003AEBAA /* crashInMain in Resources */,
-				F9C44DBC0EF072A0003AEBAA /* InfoPlist.strings in Resources */,
-				F9C44DBD0EF072A0003AEBAA /* MainMenu.nib in Resources */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		F9C77DD50F7DD5CF0045F7DB /* Resources */ = {
-			isa = PBXResourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXShellScriptBuildPhase section */
-		F94584840F27FB40009A47BF /* Change install name of breakpadUtilities */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputPaths = (
-			);
-			name = "Change install name of breakpadUtilities";
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = "install_name_tool -id \"@executable_path/../Resources/breakpadUtilities.dylib\" \"${BUILT_PRODUCTS_DIR}/breakpadUtilities.dylib\"\n";
-		};
-		F97A0E850ED4EC15008784D3 /* Change install name of breakpadUtilities */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputPaths = (
-			);
-			name = "Change install name of breakpadUtilities";
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = "#!/bin/bash\ninstall_name_tool -id \"@executable_path/../Frameworks/Breakpad.framework/Resources/breakpadUtilities.dylib\" \"${BUILT_PRODUCTS_DIR}/breakpadUtilities.dylib\"\n";
-		};
-		F9C77DD80F7DD5CF0045F7DB /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = "# Run the unit tests in this test bundle.\n\"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\"\n\necho running minidump generator tests...\n\"${BUILT_PRODUCTS_DIR}/generator_test\"\necho Running exception handler tests...\n\"${BUILT_PRODUCTS_DIR}/handler_test\"\n";
-		};
-/* End PBXShellScriptBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-		8DC2EF540486A6940098B216 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				F92C565F0ECD116B009BE4BA /* protected_memory_allocator.cc in Sources */,
-				F92C56630ECD1179009BE4BA /* exception_handler.cc in Sources */,
-				F92C55D10ECD0064009BE4BA /* Breakpad.mm in Sources */,
-				F92C56340ECD0DF1009BE4BA /* OnDemandServer.mm in Sources */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		F92C53510ECCE349009BE4BA /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				F92C53B80ECCE7B3009BE4BA /* Inspector.mm in Sources */,
-				F9286B3A0F7EB25800A4DCC8 /* InspectorMain.mm in Sources */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		F92C56390ECD10B3009BE4BA /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				F92C563F0ECD10CA009BE4BA /* convert_UTF.c in Sources */,
-				F92C56400ECD10CA009BE4BA /* dynamic_images.cc in Sources */,
-				F92C56410ECD10CA009BE4BA /* file_id.cc in Sources */,
-				F92C56420ECD10CA009BE4BA /* macho_id.cc in Sources */,
-				F92C56430ECD10CA009BE4BA /* macho_utilities.cc in Sources */,
-				F92C56440ECD10CA009BE4BA /* macho_walker.cc in Sources */,
-				F92C56450ECD10CA009BE4BA /* MachIPC.mm in Sources */,
-				F92C56460ECD10CA009BE4BA /* minidump_file_writer.cc in Sources */,
-				F92C56470ECD10CA009BE4BA /* minidump_generator.cc in Sources */,
-				F92C56480ECD10CA009BE4BA /* SimpleStringDictionary.mm in Sources */,
-				F92C56490ECD10CA009BE4BA /* string_utilities.cc in Sources */,
-				F92C564A0ECD10CA009BE4BA /* string_conversion.cc in Sources */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		F92C569D0ECE04A7009BE4BA /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				F9C44EA20EF09F93003AEBAA /* HTTPMultipartUpload.m in Sources */,
-				F92C56A90ECE04C5009BE4BA /* crash_report_sender.m in Sources */,
-				F9C44EE90EF0A3C1003AEBAA /* GTMLogger.m in Sources */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		F93803BB0F80820F004D428B /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				F93803CD0F8083B7004D428B /* dynamic_images.cc in Sources */,
-				F93803CE0F8083B7004D428B /* exception_handler.cc in Sources */,
-				F93803CF0F8083B7004D428B /* minidump_generator.cc in Sources */,
-				F93803D00F8083B7004D428B /* minidump_file_writer.cc in Sources */,
-				F93803D10F8083B7004D428B /* convert_UTF.c in Sources */,
-				F93803D20F8083B7004D428B /* string_conversion.cc in Sources */,
-				F93803D30F8083B7004D428B /* file_id.cc in Sources */,
-				F93803D40F8083B7004D428B /* macho_id.cc in Sources */,
-				F93803D50F8083B7004D428B /* macho_utilities.cc in Sources */,
-				F93803D60F8083B7004D428B /* macho_walker.cc in Sources */,
-				F93803D70F8083B7004D428B /* string_utilities.cc in Sources */,
-				F93803DA0F8083D8004D428B /* minidump_generator_test.cc in Sources */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		F93DE2CE0F82A67300608B94 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				F93DE2D90F82A73500608B94 /* minidump_file_writer.cc in Sources */,
-				F93DE2DA0F82A73500608B94 /* convert_UTF.c in Sources */,
-				F93DE2DB0F82A73500608B94 /* string_conversion.cc in Sources */,
-				F93DE2D80F82A70E00608B94 /* minidump_file_writer_unittest.cc in Sources */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		F93DE3290F82C55600608B94 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				F93DE3350F82C66B00608B94 /* dynamic_images.cc in Sources */,
-				F93DE3360F82C66B00608B94 /* exception_handler.cc in Sources */,
-				F93DE3370F82C66B00608B94 /* minidump_generator.cc in Sources */,
-				F93DE3380F82C66B00608B94 /* minidump_file_writer.cc in Sources */,
-				F93DE3390F82C66B00608B94 /* convert_UTF.c in Sources */,
-				F93DE33A0F82C66B00608B94 /* string_conversion.cc in Sources */,
-				F93DE33B0F82C66B00608B94 /* file_id.cc in Sources */,
-				F93DE33C0F82C66B00608B94 /* macho_id.cc in Sources */,
-				F93DE33D0F82C66B00608B94 /* macho_utilities.cc in Sources */,
-				F93DE33E0F82C66B00608B94 /* macho_walker.cc in Sources */,
-				F93DE33F0F82C66B00608B94 /* string_utilities.cc in Sources */,
-				F93DE3410F82C68300608B94 /* exception_handler_test.cc in Sources */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		F9C44DA20EF060A8003AEBAA /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				F9C44DB20EF07288003AEBAA /* Controller.m in Sources */,
-				F9C44DB60EF07288003AEBAA /* main.m in Sources */,
-				F9C44DB70EF07288003AEBAA /* TestClass.mm in Sources */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		F9C77DD60F7DD5CF0045F7DB /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				F9C77DE40F7DD82F0045F7DB /* SimpleStringDictionary.mm in Sources */,
-				F9C77DE20F7DD7E30045F7DB /* SimpleStringDictionaryTest.mm in Sources */,
-				F9C77E130F7DDF810045F7DB /* GTMSenTestCase.m in Sources */,
-				F91AF5D00FD60393009D8BE2 /* BreakpadFramework_Test.mm in Sources */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXTargetDependency section */
-		F91AF6380FD60A74009D8BE2 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			target = 8DC2EF4F0486A6940098B216 /* Breakpad */;
-			targetProxy = F91AF6370FD60A74009D8BE2 /* PBXContainerItemProxy */;
-		};
-		F92C564E0ECD10E5009BE4BA /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			target = F92C563B0ECD10B3009BE4BA /* breakpadUtilities */;
-			targetProxy = F92C564D0ECD10E5009BE4BA /* PBXContainerItemProxy */;
-		};
-		F92C56860ECD15EF009BE4BA /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			target = F92C563B0ECD10B3009BE4BA /* breakpadUtilities */;
-			targetProxy = F92C56850ECD15EF009BE4BA /* PBXContainerItemProxy */;
-		};
-		F92C56880ECD15F1009BE4BA /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			target = F92C53530ECCE349009BE4BA /* Inspector */;
-			targetProxy = F92C56870ECD15F1009BE4BA /* PBXContainerItemProxy */;
-		};
-		F93DE2FC0F82C3C600608B94 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			target = F93803BD0F80820F004D428B /* generator_test */;
-			targetProxy = F93DE2FB0F82C3C600608B94 /* PBXContainerItemProxy */;
-		};
-		F93DE3700F82CC1300608B94 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			target = F93DE32B0F82C55600608B94 /* handler_test */;
-			targetProxy = F93DE36F0F82CC1300608B94 /* PBXContainerItemProxy */;
-		};
-		F93DE3A70F830D1D00608B94 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			target = F9C77DD90F7DD5CF0045F7DB /* UnitTests */;
-			targetProxy = F93DE3A60F830D1D00608B94 /* PBXContainerItemProxy */;
-		};
-		F94585880F78232B009A47BF /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			target = 8DC2EF4F0486A6940098B216 /* Breakpad */;
-			targetProxy = F94585870F78232B009A47BF /* PBXContainerItemProxy */;
-		};
-		F945858A0F78232E009A47BF /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			target = F92C53530ECCE349009BE4BA /* Inspector */;
-			targetProxy = F94585890F78232E009A47BF /* PBXContainerItemProxy */;
-		};
-		F945858C0F782330009A47BF /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			target = F92C563B0ECD10B3009BE4BA /* breakpadUtilities */;
-			targetProxy = F945858B0F782330009A47BF /* PBXContainerItemProxy */;
-		};
-		F945858E0F782333009A47BF /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			target = F92C569F0ECE04A7009BE4BA /* crash_report_sender */;
-			targetProxy = F945858D0F782333009A47BF /* PBXContainerItemProxy */;
-		};
-		F94585900F782336009A47BF /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			target = F9C44DA40EF060A8003AEBAA /* BreakpadTest */;
-			targetProxy = F945858F0F782336009A47BF /* PBXContainerItemProxy */;
-		};
-		F9C44E1A0EF0790F003AEBAA /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			target = 8DC2EF4F0486A6940098B216 /* Breakpad */;
-			targetProxy = F9C44E190EF0790F003AEBAA /* PBXContainerItemProxy */;
-		};
-		F9C44E970EF09F4B003AEBAA /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			target = F92C569F0ECE04A7009BE4BA /* crash_report_sender */;
-			targetProxy = F9C44E960EF09F4B003AEBAA /* PBXContainerItemProxy */;
-		};
-/* End PBXTargetDependency section */
-
-/* Begin PBXVariantGroup section */
-		33880C7E0F9E097100817F82 /* InfoPlist.strings */ = {
-			isa = PBXVariantGroup;
-			children = (
-				33880C7F0F9E097100817F82 /* English */,
-			);
-			name = InfoPlist.strings;
-			sourceTree = "<group>";
-		};
-		F945849C0F280E3C009A47BF /* Localizable.strings */ = {
-			isa = PBXVariantGroup;
-			children = (
-				F945849D0F280E3C009A47BF /* English */,
-			);
-			name = Localizable.strings;
-			sourceTree = "<group>";
-		};
-		F9C44DB80EF072A0003AEBAA /* InfoPlist.strings */ = {
-			isa = PBXVariantGroup;
-			children = (
-				F9C44DB90EF072A0003AEBAA /* English */,
-			);
-			name = InfoPlist.strings;
-			sourceTree = "<group>";
-		};
-		F9C44DBA0EF072A0003AEBAA /* MainMenu.nib */ = {
-			isa = PBXVariantGroup;
-			children = (
-				F9C44DBB0EF072A0003AEBAA /* English */,
-			);
-			name = MainMenu.nib;
-			sourceTree = "<group>";
-		};
-/* End PBXVariantGroup section */
-
-/* Begin XCBuildConfiguration section */
-		1DEB91AE08733DA50010E9CD /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				COPY_PHASE_STRIP = NO;
-				DYLIB_COMPATIBILITY_VERSION = 1;
-				DYLIB_CURRENT_VERSION = 1;
-				FRAMEWORK_VERSION = A;
-				GCC_DYNAMIC_NO_PIC = NO;
-				GCC_ENABLE_FIX_AND_CONTINUE = YES;
-				GCC_MODEL_TUNING = G5;
-				GCC_OPTIMIZATION_LEVEL = 0;
-				GCC_PRECOMPILE_PREFIX_HEADER = YES;
-				GCC_PREFIX_HEADER = Framework/Breakpad_Prefix.pch;
-				HEADER_SEARCH_PATHS = "../..//**";
-				INFOPLIST_FILE = Framework/Info.plist;
-				INSTALL_PATH = "@executable_path/../Frameworks";
-				PRODUCT_NAME = Breakpad;
-				WRAPPER_EXTENSION = framework;
-			};
-			name = Debug;
-		};
-		1DEB91AF08733DA50010E9CD /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-				DYLIB_COMPATIBILITY_VERSION = 1;
-				DYLIB_CURRENT_VERSION = 1;
-				FRAMEWORK_VERSION = A;
-				GCC_PRECOMPILE_PREFIX_HEADER = YES;
-				GCC_PREFIX_HEADER = Framework/Breakpad_Prefix.pch;
-				HEADER_SEARCH_PATHS = "../..//**";
-				INFOPLIST_FILE = Framework/Info.plist;
-				INSTALL_PATH = "@executable_path/../Frameworks";
-				PRODUCT_NAME = Breakpad;
-				WRAPPER_EXTENSION = framework;
-			};
-			name = Release;
-		};
-		1DEB91B208733DA50010E9CD /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ARCHS = "$(ONLY_ACTIVE_ARCH_PRE_XCODE_3_1)";
-				GCC_C_LANGUAGE_STANDARD = c99;
-				GCC_OPTIMIZATION_LEVEL = 0;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				ONLY_ACTIVE_ARCH_PRE_XCODE_3_1 = "$(NATIVE_ARCH)";
-				PREBINDING = NO;
-				SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
-			};
-			name = Debug;
-		};
-		1DEB91B308733DA50010E9CD /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ARCHS = "$(ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1)";
-				ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1 = "ppc i386";
-				GCC_C_LANGUAGE_STANDARD = c99;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "../..//**";
-				PREBINDING = NO;
-				SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
-			};
-			name = Release;
-		};
-		F92C53560ECCE34A009BE4BA /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				COPY_PHASE_STRIP = NO;
-				GCC_DYNAMIC_NO_PIC = NO;
-				GCC_ENABLE_FIX_AND_CONTINUE = YES;
-				GCC_MODEL_TUNING = G5;
-				GCC_OPTIMIZATION_LEVEL = 0;
-				HEADER_SEARCH_PATHS = "../..//**";
-				INSTALL_PATH = /usr/local/bin;
-				OTHER_LDFLAGS = (
-					"-lcrypto",
-					"$(inherited)",
-				);
-				PREBINDING = NO;
-				PRODUCT_NAME = Inspector;
-			};
-			name = Debug;
-		};
-		F92C53570ECCE34A009BE4BA /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				COPY_PHASE_STRIP = YES;
-				DEAD_CODE_STRIPPING = YES;
-				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-				GCC_ENABLE_FIX_AND_CONTINUE = NO;
-				HEADER_SEARCH_PATHS = "../..//**";
-				INSTALL_PATH = /usr/local/bin;
-				LD_GENERATE_MAP_FILE = YES;
-				OTHER_LDFLAGS = (
-					"$(inherited)",
-					"-lcrypto",
-				);
-				PREBINDING = NO;
-				PRODUCT_NAME = Inspector;
-				ZERO_LINK = NO;
-			};
-			name = Release;
-		};
-		F92C563D0ECD10B3009BE4BA /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				COPY_PHASE_STRIP = NO;
-				DYLIB_COMPATIBILITY_VERSION = 1;
-				DYLIB_CURRENT_VERSION = 1;
-				GCC_DYNAMIC_NO_PIC = NO;
-				GCC_ENABLE_FIX_AND_CONTINUE = YES;
-				GCC_MODEL_TUNING = G5;
-				GCC_OPTIMIZATION_LEVEL = 0;
-				GCC_PRECOMPILE_PREFIX_HEADER = YES;
-				HEADER_SEARCH_PATHS = "../..//**";
-				INSTALL_PATH = /usr/local/lib;
-				LD_DYLIB_INSTALL_NAME = "@executable_path/../Resources/$(EXECUTABLE_PATH)";
-				OTHER_LDFLAGS = (
-					"$(inherited)",
-					"-headerpad_max_install_names",
-					"-lcrypto",
-				);
-				PREBINDING = NO;
-				PRODUCT_NAME = breakpadUtilities;
-			};
-			name = Debug;
-		};
-		F92C563E0ECD10B3009BE4BA /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				COPY_PHASE_STRIP = YES;
-				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-				DYLIB_COMPATIBILITY_VERSION = 1;
-				DYLIB_CURRENT_VERSION = 1;
-				GCC_ENABLE_FIX_AND_CONTINUE = NO;
-				GCC_PRECOMPILE_PREFIX_HEADER = YES;
-				HEADER_SEARCH_PATHS = "../..//**";
-				INSTALL_PATH = /usr/local/lib;
-				LD_DYLIB_INSTALL_NAME = "@executable_path/../Resources/$(EXECUTABLE_PATH)";
-				OTHER_LDFLAGS = (
-					"$(inherited)",
-					"-headerpad_max_install_names",
-					"-lcrypto",
-				);
-				PREBINDING = NO;
-				PRODUCT_NAME = breakpadUtilities;
-				ZERO_LINK = NO;
-			};
-			name = Release;
-		};
-		F92C56A30ECE04A8009BE4BA /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				COPY_PHASE_STRIP = NO;
-				GCC_DYNAMIC_NO_PIC = NO;
-				GCC_ENABLE_FIX_AND_CONTINUE = YES;
-				GCC_MODEL_TUNING = G5;
-				GCC_OPTIMIZATION_LEVEL = 0;
-				GCC_PRECOMPILE_PREFIX_HEADER = YES;
-				HEADER_SEARCH_PATHS = "../..//**";
-				INFOPLIST_FILE = "sender/crash_report_sender-Info.plist";
-				INSTALL_PATH = "$(HOME)/Applications";
-				OTHER_LDFLAGS = (
-					"-framework",
-					Foundation,
-					"-framework",
-					AppKit,
-				);
-				PREBINDING = NO;
-				PRODUCT_NAME = crash_report_sender;
-			};
-			name = Debug;
-		};
-		F92C56A40ECE04A8009BE4BA /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				COPY_PHASE_STRIP = YES;
-				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-				GCC_ENABLE_FIX_AND_CONTINUE = NO;
-				GCC_PRECOMPILE_PREFIX_HEADER = YES;
-				HEADER_SEARCH_PATHS = "../..//**";
-				INFOPLIST_FILE = "sender/crash_report_sender-Info.plist";
-				INSTALL_PATH = "$(HOME)/Applications";
-				OTHER_LDFLAGS = (
-					"-framework",
-					Foundation,
-					"-framework",
-					AppKit,
-				);
-				PREBINDING = NO;
-				PRODUCT_NAME = crash_report_sender;
-				ZERO_LINK = NO;
-			};
-			name = Release;
-		};
-		F93803C00F808210004D428B /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				COPY_PHASE_STRIP = NO;
-				GCC_DYNAMIC_NO_PIC = NO;
-				GCC_ENABLE_FIX_AND_CONTINUE = YES;
-				GCC_MODEL_TUNING = G5;
-				GCC_OPTIMIZATION_LEVEL = 0;
-				INSTALL_PATH = /usr/local/bin;
-				OTHER_LDFLAGS = (
-					"-lcrypto",
-					"-framework",
-					Foundation,
-				);
-				PREBINDING = NO;
-				PRODUCT_NAME = generator_test;
-				USER_HEADER_SEARCH_PATHS = ../../;
-			};
-			name = Debug;
-		};
-		F93803C10F808210004D428B /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				COPY_PHASE_STRIP = YES;
-				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-				GCC_ENABLE_FIX_AND_CONTINUE = NO;
-				GCC_MODEL_TUNING = G5;
-				INSTALL_PATH = /usr/local/bin;
-				OTHER_LDFLAGS = (
-					"-lcrypto",
-					"-framework",
-					Foundation,
-				);
-				PREBINDING = NO;
-				PRODUCT_NAME = generator_test;
-				ZERO_LINK = NO;
-			};
-			name = Release;
-		};
-		F93DE2D30F82A67400608B94 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				COPY_PHASE_STRIP = NO;
-				GCC_CHAR_IS_UNSIGNED_CHAR = YES;
-				GCC_DYNAMIC_NO_PIC = NO;
-				GCC_ENABLE_FIX_AND_CONTINUE = YES;
-				GCC_MODEL_TUNING = G5;
-				GCC_OPTIMIZATION_LEVEL = 0;
-				INSTALL_PATH = /usr/local/bin;
-				OTHER_LDFLAGS = (
-					"-framework",
-					Foundation,
-					"-framework",
-					AppKit,
-				);
-				PREBINDING = NO;
-				PRODUCT_NAME = minidump_file_writer_unittest;
-				USER_HEADER_SEARCH_PATHS = ../../;
-			};
-			name = Debug;
-		};
-		F93DE2D40F82A67400608B94 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				COPY_PHASE_STRIP = YES;
-				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-				GCC_ENABLE_FIX_AND_CONTINUE = NO;
-				GCC_MODEL_TUNING = G5;
-				INSTALL_PATH = /usr/local/bin;
-				OTHER_LDFLAGS = (
-					"-framework",
-					Foundation,
-					"-framework",
-					AppKit,
-				);
-				PREBINDING = NO;
-				PRODUCT_NAME = minidump_file_writer_unittest;
-				ZERO_LINK = NO;
-			};
-			name = Release;
-		};
-		F93DE32E0F82C55700608B94 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				COPY_PHASE_STRIP = NO;
-				GCC_DYNAMIC_NO_PIC = NO;
-				GCC_ENABLE_FIX_AND_CONTINUE = YES;
-				GCC_MODEL_TUNING = G5;
-				GCC_OPTIMIZATION_LEVEL = 0;
-				INSTALL_PATH = /usr/local/bin;
-				OTHER_LDFLAGS = (
-					"-lcrypto",
-					"-framework",
-					Foundation,
-				);
-				PREBINDING = NO;
-				PRODUCT_NAME = handler_test;
-				USER_HEADER_SEARCH_PATHS = ../../;
-			};
-			name = Debug;
-		};
-		F93DE32F0F82C55700608B94 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				COPY_PHASE_STRIP = YES;
-				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-				GCC_ENABLE_FIX_AND_CONTINUE = NO;
-				GCC_MODEL_TUNING = G5;
-				INSTALL_PATH = /usr/local/bin;
-				OTHER_LDFLAGS = (
-					"-lcrypto",
-					"-framework",
-					Foundation,
-				);
-				PREBINDING = NO;
-				PRODUCT_NAME = handler_test;
-				ZERO_LINK = NO;
-			};
-			name = Release;
-		};
-		F93DE3B90F830E7000608B94 /* Debug With Code Coverage */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ARCHS = "$(ONLY_ACTIVE_ARCH_PRE_XCODE_3_1)";
-				GCC_C_LANGUAGE_STANDARD = c99;
-				GCC_OPTIMIZATION_LEVEL = 0;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				ONLY_ACTIVE_ARCH_PRE_XCODE_3_1 = "$(NATIVE_ARCH)";
-				PREBINDING = NO;
-				SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
-			};
-			name = "Debug With Code Coverage";
-		};
-		F93DE3BA0F830E7000608B94 /* Debug With Code Coverage */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				COPY_PHASE_STRIP = NO;
-				DYLIB_COMPATIBILITY_VERSION = 1;
-				DYLIB_CURRENT_VERSION = 1;
-				FRAMEWORK_VERSION = A;
-				GCC_DYNAMIC_NO_PIC = NO;
-				GCC_ENABLE_FIX_AND_CONTINUE = YES;
-				GCC_MODEL_TUNING = G5;
-				GCC_OPTIMIZATION_LEVEL = 0;
-				GCC_PRECOMPILE_PREFIX_HEADER = YES;
-				GCC_PREFIX_HEADER = Framework/Breakpad_Prefix.pch;
-				HEADER_SEARCH_PATHS = "../..//**";
-				INFOPLIST_FILE = Framework/Info.plist;
-				INSTALL_PATH = "@executable_path/../Frameworks";
-				PRODUCT_NAME = Breakpad;
-				WRAPPER_EXTENSION = framework;
-			};
-			name = "Debug With Code Coverage";
-		};
-		F93DE3BB0F830E7000608B94 /* Debug With Code Coverage */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				COPY_PHASE_STRIP = NO;
-				GCC_DYNAMIC_NO_PIC = NO;
-				GCC_ENABLE_FIX_AND_CONTINUE = YES;
-				GCC_MODEL_TUNING = G5;
-				GCC_OPTIMIZATION_LEVEL = 0;
-				HEADER_SEARCH_PATHS = "../..//**";
-				INSTALL_PATH = /usr/local/bin;
-				OTHER_LDFLAGS = (
-					"-lcrypto",
-					"$(inherited)",
-				);
-				PREBINDING = NO;
-				PRODUCT_NAME = Inspector;
-			};
-			name = "Debug With Code Coverage";
-		};
-		F93DE3BC0F830E7000608B94 /* Debug With Code Coverage */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				COPY_PHASE_STRIP = NO;
-				DYLIB_COMPATIBILITY_VERSION = 1;
-				DYLIB_CURRENT_VERSION = 1;
-				GCC_DYNAMIC_NO_PIC = NO;
-				GCC_ENABLE_FIX_AND_CONTINUE = YES;
-				GCC_MODEL_TUNING = G5;
-				GCC_OPTIMIZATION_LEVEL = 0;
-				GCC_PRECOMPILE_PREFIX_HEADER = YES;
-				HEADER_SEARCH_PATHS = "../..//**";
-				INSTALL_PATH = /usr/local/lib;
-				LD_DYLIB_INSTALL_NAME = "@executable_path/../Resources/$(EXECUTABLE_PATH)";
-				OTHER_LDFLAGS = (
-					"$(inherited)",
-					"-headerpad_max_install_names",
-					"-lcrypto",
-				);
-				PREBINDING = NO;
-				PRODUCT_NAME = breakpadUtilities;
-			};
-			name = "Debug With Code Coverage";
-		};
-		F93DE3BD0F830E7000608B94 /* Debug With Code Coverage */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				COPY_PHASE_STRIP = NO;
-				GCC_DYNAMIC_NO_PIC = NO;
-				GCC_ENABLE_FIX_AND_CONTINUE = YES;
-				GCC_MODEL_TUNING = G5;
-				GCC_OPTIMIZATION_LEVEL = 0;
-				GCC_PRECOMPILE_PREFIX_HEADER = YES;
-				HEADER_SEARCH_PATHS = "../..//**";
-				INFOPLIST_FILE = "sender/crash_report_sender-Info.plist";
-				INSTALL_PATH = "$(HOME)/Applications";
-				OTHER_LDFLAGS = (
-					"-framework",
-					Foundation,
-					"-framework",
-					AppKit,
-				);
-				PREBINDING = NO;
-				PRODUCT_NAME = crash_report_sender;
-			};
-			name = "Debug With Code Coverage";
-		};
-		F93DE3BE0F830E7000608B94 /* Debug With Code Coverage */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				COPY_PHASE_STRIP = NO;
-				FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/build/$(CONFIGURATION)";
-				GCC_DYNAMIC_NO_PIC = NO;
-				GCC_ENABLE_FIX_AND_CONTINUE = YES;
-				GCC_MODEL_TUNING = G5;
-				GCC_OPTIMIZATION_LEVEL = 0;
-				GCC_PRECOMPILE_PREFIX_HEADER = YES;
-				GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h";
-				INFOPLIST_FILE = testapp/Info.plist;
-				INSTALL_PATH = "$(HOME)/Applications";
-				OTHER_LDFLAGS = (
-					"-framework",
-					Foundation,
-					"-framework",
-					AppKit,
-				);
-				PREBINDING = NO;
-				PRODUCT_NAME = BreakpadTest;
-			};
-			name = "Debug With Code Coverage";
-		};
-		F93DE3BF0F830E7000608B94 /* Debug With Code Coverage */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				COPY_PHASE_STRIP = NO;
-				GCC_DYNAMIC_NO_PIC = NO;
-				GCC_OPTIMIZATION_LEVEL = 0;
-				PRODUCT_NAME = All;
-			};
-			name = "Debug With Code Coverage";
-		};
-		F93DE3C00F830E7000608B94 /* Debug With Code Coverage */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				COPY_PHASE_STRIP = NO;
-				FRAMEWORK_SEARCH_PATHS = "$(DEVELOPER_LIBRARY_DIR)/Frameworks";
-				GCC_DYNAMIC_NO_PIC = NO;
-				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-				GCC_GENERATE_TEST_COVERAGE_FILES = YES;
-				GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES;
-				GCC_MODEL_TUNING = G5;
-				GCC_OPTIMIZATION_LEVEL = 0;
-				GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Cocoa.framework/Headers/Cocoa.h";
-				INFOPLIST_FILE = "UnitTests-Info.plist";
-				INSTALL_PATH = "$(USER_LIBRARY_DIR)/Bundles";
-				LIBRARY_SEARCH_PATHS = ./gcov;
-				OTHER_LDFLAGS = (
-					"-lgcov",
-					"-framework",
-					Cocoa,
-					"-framework",
-					SenTestingKit,
-				);
-				PREBINDING = NO;
-				PRODUCT_NAME = UnitTests;
-				USER_HEADER_SEARCH_PATHS = "../../ ../../common/mac/**";
-				WRAPPER_EXTENSION = octest;
-			};
-			name = "Debug With Code Coverage";
-		};
-		F93DE3C10F830E7000608B94 /* Debug With Code Coverage */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				COPY_PHASE_STRIP = NO;
-				GCC_DYNAMIC_NO_PIC = NO;
-				GCC_ENABLE_FIX_AND_CONTINUE = YES;
-				GCC_GENERATE_TEST_COVERAGE_FILES = YES;
-				GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES;
-				GCC_MODEL_TUNING = G5;
-				GCC_OPTIMIZATION_LEVEL = 0;
-				INSTALL_PATH = /usr/local/bin;
-				LIBRARY_SEARCH_PATHS = ./gcov;
-				OTHER_LDFLAGS = (
-					"-lgcov",
-					"-lcrypto",
-					"-framework",
-					Foundation,
-				);
-				PREBINDING = NO;
-				PRODUCT_NAME = generator_test;
-				USER_HEADER_SEARCH_PATHS = ../../;
-			};
-			name = "Debug With Code Coverage";
-		};
-		F93DE3C20F830E7000608B94 /* Debug With Code Coverage */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				COPY_PHASE_STRIP = NO;
-				GCC_CHAR_IS_UNSIGNED_CHAR = YES;
-				GCC_DYNAMIC_NO_PIC = NO;
-				GCC_ENABLE_FIX_AND_CONTINUE = YES;
-				GCC_GENERATE_TEST_COVERAGE_FILES = YES;
-				GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES;
-				GCC_MODEL_TUNING = G5;
-				GCC_OPTIMIZATION_LEVEL = 0;
-				INSTALL_PATH = /usr/local/bin;
-				LIBRARY_SEARCH_PATHS = ./gcov;
-				OTHER_LDFLAGS = (
-					"-lgcov",
-					"-framework",
-					Foundation,
-					"-framework",
-					AppKit,
-				);
-				PREBINDING = NO;
-				PRODUCT_NAME = minidump_file_writer_unittest;
-				USER_HEADER_SEARCH_PATHS = ../../;
-			};
-			name = "Debug With Code Coverage";
-		};
-		F93DE3C30F830E7000608B94 /* Debug With Code Coverage */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				COPY_PHASE_STRIP = NO;
-				GCC_DYNAMIC_NO_PIC = NO;
-				GCC_ENABLE_FIX_AND_CONTINUE = YES;
-				GCC_GENERATE_TEST_COVERAGE_FILES = YES;
-				GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES;
-				GCC_MODEL_TUNING = G5;
-				GCC_OPTIMIZATION_LEVEL = 0;
-				INSTALL_PATH = /usr/local/bin;
-				LIBRARY_SEARCH_PATHS = ./gcov;
-				OTHER_LDFLAGS = (
-					"-lcrypto",
-					"-lgcov",
-					"-framework",
-					Foundation,
-				);
-				PREBINDING = NO;
-				PRODUCT_NAME = handler_test;
-				USER_HEADER_SEARCH_PATHS = ../../;
-			};
-			name = "Debug With Code Coverage";
-		};
-		F94585850F782326009A47BF /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				COPY_PHASE_STRIP = NO;
-				GCC_DYNAMIC_NO_PIC = NO;
-				GCC_OPTIMIZATION_LEVEL = 0;
-				PRODUCT_NAME = All;
-			};
-			name = Debug;
-		};
-		F94585860F782326009A47BF /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				COPY_PHASE_STRIP = YES;
-				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-				GCC_ENABLE_FIX_AND_CONTINUE = NO;
-				PRODUCT_NAME = All;
-				ZERO_LINK = NO;
-			};
-			name = Release;
-		};
-		F9C44DA80EF060A8003AEBAA /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				COPY_PHASE_STRIP = NO;
-				FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/build/$(CONFIGURATION)";
-				GCC_DYNAMIC_NO_PIC = NO;
-				GCC_ENABLE_FIX_AND_CONTINUE = YES;
-				GCC_MODEL_TUNING = G5;
-				GCC_OPTIMIZATION_LEVEL = 0;
-				GCC_PRECOMPILE_PREFIX_HEADER = YES;
-				GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h";
-				INFOPLIST_FILE = testapp/Info.plist;
-				INSTALL_PATH = "$(HOME)/Applications";
-				OTHER_LDFLAGS = (
-					"-framework",
-					Foundation,
-					"-framework",
-					AppKit,
-				);
-				PREBINDING = NO;
-				PRODUCT_NAME = BreakpadTest;
-			};
-			name = Debug;
-		};
-		F9C44DA90EF060A8003AEBAA /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				COPY_PHASE_STRIP = YES;
-				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-				FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/build/$(CONFIGURATION)";
-				GCC_ENABLE_FIX_AND_CONTINUE = NO;
-				INFOPLIST_FILE = testapp/Info.plist;
-				INSTALL_PATH = "$(HOME)/Applications";
-				OTHER_LDFLAGS = (
-					"-framework",
-					Foundation,
-					"-framework",
-					AppKit,
-				);
-				PREBINDING = NO;
-				PRODUCT_NAME = BreakpadTest;
-				ZERO_LINK = NO;
-			};
-			name = Release;
-		};
-		F9C77DDC0F7DD5D00045F7DB /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				COPY_PHASE_STRIP = NO;
-				FRAMEWORK_SEARCH_PATHS = "$(DEVELOPER_LIBRARY_DIR)/Frameworks";
-				GCC_DYNAMIC_NO_PIC = NO;
-				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-				GCC_MODEL_TUNING = G5;
-				GCC_OPTIMIZATION_LEVEL = 0;
-				GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Cocoa.framework/Headers/Cocoa.h";
-				INFOPLIST_FILE = "UnitTests-Info.plist";
-				INSTALL_PATH = "$(USER_LIBRARY_DIR)/Bundles";
-				OTHER_LDFLAGS = (
-					"-framework",
-					Cocoa,
-					"-framework",
-					SenTestingKit,
-				);
-				PREBINDING = NO;
-				PRODUCT_NAME = UnitTests;
-				USER_HEADER_SEARCH_PATHS = "../../ ../../common/mac/**";
-				WRAPPER_EXTENSION = octest;
-			};
-			name = Debug;
-		};
-		F9C77DDD0F7DD5D00045F7DB /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				COPY_PHASE_STRIP = YES;
-				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-				FRAMEWORK_SEARCH_PATHS = "$(DEVELOPER_LIBRARY_DIR)/Frameworks";
-				GCC_ENABLE_FIX_AND_CONTINUE = NO;
-				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-				GCC_MODEL_TUNING = G5;
-				INFOPLIST_FILE = "UnitTests-Info.plist";
-				INSTALL_PATH = "$(USER_LIBRARY_DIR)/Bundles";
-				OTHER_LDFLAGS = (
-					"-framework",
-					Cocoa,
-					"-framework",
-					SenTestingKit,
-				);
-				PREBINDING = NO;
-				PRODUCT_NAME = UnitTests;
-				WRAPPER_EXTENSION = octest;
-				ZERO_LINK = NO;
-			};
-			name = Release;
-		};
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-		1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "Breakpad" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				1DEB91AE08733DA50010E9CD /* Debug */,
-				F93DE3BA0F830E7000608B94 /* Debug With Code Coverage */,
-				1DEB91AF08733DA50010E9CD /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Release;
-		};
-		1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "Breakpad" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				1DEB91B208733DA50010E9CD /* Debug */,
-				F93DE3B90F830E7000608B94 /* Debug With Code Coverage */,
-				1DEB91B308733DA50010E9CD /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Release;
-		};
-		F92C53580ECCE36D009BE4BA /* Build configuration list for PBXNativeTarget "Inspector" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				F92C53560ECCE34A009BE4BA /* Debug */,
-				F93DE3BB0F830E7000608B94 /* Debug With Code Coverage */,
-				F92C53570ECCE34A009BE4BA /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Release;
-		};
-		F92C56670ECD11A3009BE4BA /* Build configuration list for PBXNativeTarget "breakpadUtilities" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				F92C563D0ECD10B3009BE4BA /* Debug */,
-				F93DE3BC0F830E7000608B94 /* Debug With Code Coverage */,
-				F92C563E0ECD10B3009BE4BA /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Release;
-		};
-		F92C56A50ECE04A8009BE4BA /* Build configuration list for PBXNativeTarget "crash_report_sender" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				F92C56A30ECE04A8009BE4BA /* Debug */,
-				F93DE3BD0F830E7000608B94 /* Debug With Code Coverage */,
-				F92C56A40ECE04A8009BE4BA /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Release;
-		};
-		F93803C40F80822E004D428B /* Build configuration list for PBXNativeTarget "generator_test" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				F93803C00F808210004D428B /* Debug */,
-				F93DE3C10F830E7000608B94 /* Debug With Code Coverage */,
-				F93803C10F808210004D428B /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Release;
-		};
-		F93DE2D60F82A67700608B94 /* Build configuration list for PBXNativeTarget "minidump_file_writer_unittest" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				F93DE2D30F82A67400608B94 /* Debug */,
-				F93DE3C20F830E7000608B94 /* Debug With Code Coverage */,
-				F93DE2D40F82A67400608B94 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Release;
-		};
-		F93DE3320F82C5D800608B94 /* Build configuration list for PBXNativeTarget "handler_test" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				F93DE32E0F82C55700608B94 /* Debug */,
-				F93DE3C30F830E7000608B94 /* Debug With Code Coverage */,
-				F93DE32F0F82C55700608B94 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Release;
-		};
-		F94585930F78235C009A47BF /* Build configuration list for PBXAggregateTarget "All" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				F94585850F782326009A47BF /* Debug */,
-				F93DE3BF0F830E7000608B94 /* Debug With Code Coverage */,
-				F94585860F782326009A47BF /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Release;
-		};
-		F9C44DAA0EF060A9003AEBAA /* Build configuration list for PBXNativeTarget "BreakpadTest" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				F9C44DA80EF060A8003AEBAA /* Debug */,
-				F93DE3BE0F830E7000608B94 /* Debug With Code Coverage */,
-				F9C44DA90EF060A8003AEBAA /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Release;
-		};
-		F9C77DDE0F7DD5D00045F7DB /* Build configuration list for PBXNativeTarget "UnitTests" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				F9C77DDC0F7DD5D00045F7DB /* Debug */,
-				F93DE3C00F830E7000608B94 /* Debug With Code Coverage */,
-				F9C77DDD0F7DD5D00045F7DB /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Release;
-		};
-/* End XCConfigurationList section */
-	};
-	rootObject = 0867D690FE84028FC02AAC07 /* Project object */;
-}
deleted file mode 100644
--- a/toolkit/crashreporter/google-breakpad/src/client/mac/Framework/Breakpad.h
+++ /dev/null
@@ -1,303 +0,0 @@
-// Copyright (c) 2006, Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
-// Framework to provide a simple C API to crash reporting for
-// applications.  By default, if any machine-level exception (e.g.,
-// EXC_BAD_ACCESS) occurs, it will be handled by the BreakpadRef
-// object as follows:
-//
-// 1. Create a minidump file (see Breakpad for details)
-// 2. Prompt the user (using CFUserNotification)
-// 3. Invoke a command line reporting tool to send the minidump to a
-//    server
-//
-// By specifying parameters to the BreakpadCreate function, you can
-// modify the default behavior to suit your needs and wants and
-// desires.
-
-typedef void *BreakpadRef;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <CoreFoundation/CoreFoundation.h>
-#include <Foundation/Foundation.h>
-
-  // Keys for configuration file
-#define kReporterMinidumpDirectoryKey "MinidumpDir"
-#define kReporterMinidumpIDKey        "MinidumpID"
-
-// The default subdirectory of the Library to put crash dumps in
-// The subdirectory is
-//  ~/Library/<kDefaultLibrarySubdirectory>/<GoogleBreakpadProduct>
-#define kDefaultLibrarySubdirectory   "Breakpad"
-
-// Specify some special keys to be used in the configuration file that is
-// generated by Breakpad and consumed by the crash_sender.
-#define BREAKPAD_PRODUCT               "BreakpadProduct"
-#define BREAKPAD_PRODUCT_DISPLAY       "BreakpadProductDisplay"
-#define BREAKPAD_VERSION               "BreakpadVersion"
-#define BREAKPAD_VENDOR                "BreakpadVendor"
-#define BREAKPAD_URL                   "BreakpadURL"
-#define BREAKPAD_REPORT_INTERVAL       "BreakpadReportInterval"
-#define BREAKPAD_SKIP_CONFIRM          "BreakpadSkipConfirm"
-#define BREAKPAD_CONFIRM_TIMEOUT       "BreakpadConfirmTimeout"
-#define BREAKPAD_SEND_AND_EXIT         "BreakpadSendAndExit"
-#define BREAKPAD_DUMP_DIRECTORY        "BreakpadMinidumpLocation"
-#define BREAKPAD_INSPECTOR_LOCATION    "BreakpadInspectorLocation"
-#define BREAKPAD_REPORTER_EXE_LOCATION \
-  "BreakpadReporterExeLocation"
-#define BREAKPAD_LOGFILES              "BreakpadLogFiles"
-#define BREAKPAD_LOGFILE_UPLOAD_SIZE   "BreakpadLogFileTailSize"
-#define BREAKPAD_REQUEST_COMMENTS      "BreakpadRequestComments"
-#define BREAKPAD_COMMENTS              "BreakpadComments"
-#define BREAKPAD_REQUEST_EMAIL         "BreakpadRequestEmail"
-#define BREAKPAD_EMAIL                 "BreakpadEmail"
-#define BREAKPAD_SERVER_TYPE           "BreakpadServerType"
-#define BREAKPAD_SERVER_PARAMETER_DICT "BreakpadServerParameters"
-
-// The keys below are NOT user supplied, and are used internally.
-#define BREAKPAD_PROCESS_START_TIME       "BreakpadProcStartTime"
-#define BREAKPAD_PROCESS_UP_TIME          "BreakpadProcessUpTime"
-#define BREAKPAD_PROCESS_CRASH_TIME       "BreakpadProcessCrashTime"
-#define BREAKPAD_LOGFILE_KEY_PREFIX       "BreakpadAppLogFile"
-#define BREAKPAD_SERVER_PARAMETER_PREFIX  "BreakpadServerParameterPrefix_"
-
-// Optional user-defined function to dec to decide if we should handle
-// this crash or forward it along.
-// Return true if you want Breakpad to handle it.
-// Return false if you want Breakpad to skip it
-// The exception handler always returns false, as if SEND_AND_EXIT were false
-// (which means the next exception handler will take the exception)
-typedef bool (*BreakpadFilterCallback)(int exception_type,
-                                       int exception_code,
-                                       mach_port_t crashing_thread,
-                                       void *context);
-
-// Create a new BreakpadRef object and install it as an exception
-// handler.  The |parameters| will typically be the contents of your
-// bundle's Info.plist.
-//
-// You can also specify these additional keys for customizable behavior:
-// Key:                           Value:
-// BREAKPAD_PRODUCT               Product name (e.g., "MyAwesomeProduct")
-//                                This one is used as the key to identify
-//                                the product when uploading
-//                                REQUIRED
-//
-// BREAKPAD_PRODUCT_DISPLAY       This is the display name, e.g. a pretty
-//                                name for the product when the crash_sender
-//                                pops up UI for the user.  Falls back to
-//                                BREAKPAD_PRODUCT if not specified.
-//
-// BREAKPAD_VERSION               Product version (e.g., 1.2.3), used
-//                                as metadata for crash report
-//                                REQUIRED
-//
-// BREAKPAD_VENDOR                Vendor name, used in UI (e.g. "A report has
-//                                been created that you can send to <vendor>")
-//
-// BREAKPAD_URL                   URL destination for reporting
-//                                REQUIRED
-//
-// BREAKPAD_REPORT_INTERVAL       # of seconds between sending
-//                                reports.  If an additional report is
-//                                generated within this time, it will
-//                                be ignored.  Default: 3600sec.
-//                                Specify 0 to send all reports.
-//
-// BREAKPAD_SKIP_CONFIRM          If true, the reporter will send the report
-//                                without any user intervention.
-//                                Defaults to NO
-//
-// BREAKPAD_CONFIRM_TIMEOUT       Number of seconds before the upload
-//                                confirmation dialog will be automatically
-//                                dismissed (cancelling the upload).
-//                                Default: 300 seconds (min of 60).
-//                                Specify 0 to prevent timeout.
-//
-// BREAKPAD_SEND_AND_EXIT         If true, the handler will exit after sending.
-//                                This will prevent any other handler (e.g.,
-//                                CrashReporter) from getting the crash.
-//                                Defaults TO YES
-//
-// BREAKPAD_DUMP_DIRECTORY        The directory to store crash-dumps
-//                                in. By default, we use
-//                                ~/Library/Breakpad/<BREAKPAD_PRODUCT>
-//                                The path you specify here is tilde-expanded.
-//
-// BREAKPAD_INSPECTOR_LOCATION    The full path to the Inspector executable.
-//                                Defaults to <Framework resources>/Inspector
-//
-// BREAKPAD_REPORTER_EXE_LOCATION The full path to the Reporter/sender
-//                                executable.
-//                                Default:
-//                                <Framework Resources>/crash_report_sender.app
-//
-// BREAKPAD_LOGFILES              Indicates an array of log file paths that
-//                                should be uploaded at crash time.
-//
-// BREAKPAD_REQUEST_COMMENTS      If true, the message dialog will have a
-//                                text box for the user to enter comments.
-//                                Default: NO
-//
-// BREAKPAD_REQUEST_EMAIL         If true and BREAKPAD_REQUEST_COMMENTS is also
-//                                true, the message dialog will have a text
-//                                box for the user to enter their email address.
-//                                Default: NO
-//
-// BREAKPAD_SERVER_TYPE           A parameter that tells Breakpad how to
-//                                rewrite the upload parameters for a specific
-//                                server type.  The currently valid values are
-//                                'socorro' or 'google'.  If you want to add
-//                                other types, see the function in
-//                                crash_report_sender.m that maps parameters to
-//                                URL parameters.  Defaults to 'google'.
-//
-// BREAKPAD_SERVER_PARAMETER_DICT A plist dictionary of static
-//                                parameters that are uploaded to the
-//                                server.  The parameters are sent as
-//                                is to the crash server.  Their
-//                                content isn't added to the minidump
-//                                but pass as URL parameters when
-//                                uploading theminidump to the crash
-//                                server.
-//=============================================================================
-// The BREAKPAD_PRODUCT, BREAKPAD_VERSION and BREAKPAD_URL are
-// required to have non-NULL values.  By default, the BREAKPAD_PRODUCT
-// will be the CFBundleName and the BREAKPAD_VERSION will be the
-// CFBundleVersion when these keys are present in the bundle's
-// Info.plist, which is usually passed in to BreakpadCreate() as an
-// NSDictionary (you could also pass in another dictionary that had
-// the same keys configured).  If the BREAKPAD_PRODUCT or
-// BREAKPAD_VERSION are ultimately undefined, BreakpadCreate() will
-// fail.  You have been warned.
-//
-// If you are running in a debugger, Breakpad will not install, unless the
-// BREAKPAD_IGNORE_DEBUGGER envionment variable is set and/or non-zero.
-//
-// The BREAKPAD_SKIP_CONFIRM and BREAKPAD_SEND_AND_EXIT default
-// values are NO and YES.  However, they can be controlled by setting their
-// values in a user or global plist.
-//
-// It's easiest to use Breakpad via the Framework, but if you're compiling the
-// code in directly, BREAKPAD_INSPECTOR_LOCATION and
-// BREAKPAD_REPORTER_EXE_LOCATION allow you to specify custom paths
-// to the helper executables.
-//
-//=============================================================================
-// The following are NOT user-supplied but are documented here for
-// completeness.  They are calculated by Breakpad during initialization &
-// crash-dump generation.
-//
-// BREAKPAD_PROCESS_START_TIME       The time the process started.
-//
-// BREAKPAD_PROCESS_CRASH_TIME       The time the process crashed.
-//
-// BREAKPAD_PROCESS_UP_TIME          The total time the process has been
-//                                   running.  This parameter is not set
-//                                   until the crash-dump-generation phase.
-//
-// BREAKPAD_LOGFILE_KEY_PREFIX       Used to find out which parameters in the
-//                                   parameter dictionary correspond to log
-//                                   file paths.
-//
-// BREAKPAD_SERVER_PARAMETER_PREFIX  This prefix is used by Breakpad
-//                                   internally, because Breakpad uses
-//                                   the same dictionary internally to
-//                                   track both its internal
-//                                   configuration parameters and
-//                                   parameters meant to be uploaded
-//                                   to the server.  This string is
-//                                   used internally by Breakpad to
-//                                   prefix user-supplied parameter
-//                                   names so those can be sent to the
-//                                   server without leaking Breakpad's
-//                                   internal values.
-//
-
-// Returns a new BreakpadRef object on success, NULL otherwise.
-BreakpadRef BreakpadCreate(NSDictionary *parameters);
-
-// Uninstall and release the data associated with |ref|.
-void BreakpadRelease(BreakpadRef ref);
-
-// Clients may set an optional callback which gets called when a crash
-// occurs.  The callback function should return |true| if we should
-// handle the crash, generate a crash report, etc. or |false| if we
-// should ignore it and forward the crash (normally to CrashReporter).
-// Context is a pointer to arbitrary data to make the callback with.
-void BreakpadSetFilterCallback(BreakpadRef ref,
-                               BreakpadFilterCallback callback,
-                               void *context);
-
-// User defined key and value string storage.  Generally this is used
-// to configure Breakpad's internal operation, such as whether the
-// crash_sender should prompt the user, or the filesystem location for
-// the minidump file.  See Breakpad.h for some parameters that can be
-// set.  Anything longer than 255 bytes will be truncated. Note that
-// the string is converted to UTF8 before truncation, so any multibyte
-// character that straddles the 255(256 - 1 for terminator) byte limit
-// will be mangled.
-//
-// A maximum number of 64 key/value pairs are supported.  An assert()
-// will fire if more than this number are set.  Unfortunately, right
-// now, the same dictionary is used for both Breakpad's parameters AND
-// the Upload parameters.
-//
-// TODO (nealsid): Investigate how necessary this is if we don't
-// automatically upload parameters to the server anymore.
-// TODO (nealsid): separate server parameter dictionary from the
-// dictionary used to configure Breakpad, and document limits for each
-// independently.
-void BreakpadSetKeyValue(BreakpadRef ref, NSString *key, NSString *value);
-NSString *BreakpadKeyValue(BreakpadRef ref, NSString *key);
-void BreakpadRemoveKeyValue(BreakpadRef ref, NSString *key);
-
-// You can use this method to specify parameters that will be uploaded
-// to the crash server.  They will be automatically encoded as
-// necessary.  Note that as mentioned above there are limits on both
-// the number of keys and their length.
-void BreakpadAddUploadParameter(BreakpadRef ref, NSString *key,
-				NSString *value);
-
-// This method will remove a previously-added parameter from the
-// upload parameter set.
-void BreakpadRemoveUploadParameter(BreakpadRef ref, NSString *key);
-
-// Add a log file for Breakpad to read and send upon crash dump
-void BreakpadAddLogFile(BreakpadRef ref, NSString *logPathname);
-
-// Generate a minidump and send
-void BreakpadGenerateAndSendReport(BreakpadRef ref);
-
-#ifdef __cplusplus
-}
-#endif
deleted file mode 100644
--- a/toolkit/crashreporter/google-breakpad/src/client/mac/Framework/Breakpad.mm
+++ /dev/null
@@ -1,1003 +0,0 @@
-// Copyright (c) 2006, Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
-
-#define VERBOSE 0
-
-#if VERBOSE
-  static bool gDebugLog = true;
-#else
-  static bool gDebugLog = false;
-#endif
-
-#define DEBUGLOG if (gDebugLog) fprintf
-#define IGNORE_DEBUGGER "BREAKPAD_IGNORE_DEBUGGER"
-
-#import "common/mac/MachIPC.h"
-#import "common/mac/SimpleStringDictionary.h"
-
-#import "client/mac/crash_generation/Inspector.h"
-#import "client/mac/handler/exception_handler.h"
-#import "client/mac/Framework/Breakpad.h"
-#import "client/mac/Framework/OnDemandServer.h"
-#import "client/mac/handler/protected_memory_allocator.h"
-
-#import <sys/stat.h>
-#import <sys/sysctl.h>
-
-#import <Foundation/Foundation.h>
-
-
-using google_breakpad::KeyValueEntry;
-using google_breakpad::SimpleStringDictionary;
-using google_breakpad::SimpleStringDictionaryIterator;
-
-//=============================================================================
-// We want any memory allocations which are used by breakpad during the
-// exception handling process (after a crash has happened) to be read-only
-// to prevent them from being smashed before a crash occurs.  Unfortunately
-// we cannot protect against smashes to our exception handling thread's
-// stack.
-//
-// NOTE: Any memory allocations which are not used during the exception
-// handling process may be allocated in the normal ways.
-//
-// The ProtectedMemoryAllocator class provides an Allocate() method which
-// we'll using in conjunction with placement operator new() to control
-// allocation of C++ objects.  Note that we don't use operator delete()
-// but instead call the objects destructor directly:  object->~ClassName();
-//
-ProtectedMemoryAllocator *gMasterAllocator = NULL;
-ProtectedMemoryAllocator *gKeyValueAllocator = NULL;
-ProtectedMemoryAllocator *gBreakpadAllocator = NULL;
-
-// Mutex for thread-safe access to the key/value dictionary used by breakpad.
-// It's a global instead of an instance variable of Breakpad
-// since it can't live in a protected memory area.
-pthread_mutex_t gDictionaryMutex;
-
-//=============================================================================
-// Stack-based object for thread-safe access to a memory-protected region.
-// It's assumed that normally the memory block (allocated by the allocator)
-// is protected (read-only).  Creating a stack-based instance of
-// ProtectedMemoryLocker will unprotect this block after taking the lock.
-// Its destructor will first re-protect the memory then release the lock.
-class ProtectedMemoryLocker {
-public:
-  // allocator may be NULL, in which case no Protect() or Unprotect() calls
-  // will be made, but a lock will still be taken
-  ProtectedMemoryLocker(pthread_mutex_t *mutex,
-                        ProtectedMemoryAllocator *allocator)
-  : mutex_(mutex), allocator_(allocator) {
-    // Lock the mutex
-    assert(pthread_mutex_lock(mutex_) == 0);
-
-    // Unprotect the memory
-    if (allocator_ ) {
-      allocator_->Unprotect();
-    }
-  }
-
-  ~ProtectedMemoryLocker() {
-    // First protect the memory
-    if (allocator_) {
-      allocator_->Protect();
-    }
-
-    // Then unlock the mutex
-    assert(pthread_mutex_unlock(mutex_) == 0);
-  };
-
-private:
-  //  Keep anybody from ever creating one of these things not on the stack.
-  ProtectedMemoryLocker() { }
-  ProtectedMemoryLocker(const ProtectedMemoryLocker&);
-  ProtectedMemoryLocker & operator=(ProtectedMemoryLocker&);
-
-  pthread_mutex_t           *mutex_;
-  ProtectedMemoryAllocator  *allocator_;
-};
-
-//=============================================================================
-class Breakpad {
- public:
-  // factory method
-  static Breakpad *Create(NSDictionary *parameters) {
-    // Allocate from our special allocation pool
-    Breakpad *breakpad =
-      new (gBreakpadAllocator->Allocate(sizeof(Breakpad)))
-        Breakpad();
-
-    if (!breakpad)
-      return NULL;
-
-    if (!breakpad->Initialize(parameters)) {
-      // Don't use operator delete() here since we allocated from special pool
-      breakpad->~Breakpad();
-      return NULL;
-    }
-
-    return breakpad;
-  }
-
-  ~Breakpad();
-
-  void SetKeyValue(NSString *key, NSString *value);
-  NSString *KeyValue(NSString *key);
-  void RemoveKeyValue(NSString *key);
-
-  void GenerateAndSendReport();
-
-  void SetFilterCallback(BreakpadFilterCallback callback, void *context) {
-    filter_callback_ = callback;
-    filter_callback_context_ = context;
-  }
-
- private:
-  Breakpad()
-    : handler_(NULL),
-      config_params_(NULL),
-      send_and_exit_(true),
-      filter_callback_(NULL), 
-      filter_callback_context_(NULL) {
-    inspector_path_[0] = 0;
-  }
-
-  bool Initialize(NSDictionary *parameters);
-
-  bool ExtractParameters(NSDictionary *parameters);
-
-  // Dispatches to HandleException()
-  static bool ExceptionHandlerDirectCallback(void *context,
-                                             int exception_type,
-                                             int exception_code,
-                                             int exception_subcode,
-                                             mach_port_t crashing_thread);
-
-  bool HandleException(int exception_type,
-                       int exception_code,
-                       int exception_subcode,
-                       mach_port_t crashing_thread);
-
-  // Since ExceptionHandler (w/o namespace) is defined as typedef in OSX's
-  // MachineExceptions.h, we have to explicitly name the handler.
-  google_breakpad::ExceptionHandler *handler_; // The actual handler (STRONG)
-
-  char                    inspector_path_[PATH_MAX];  // Path to inspector tool
-
-  SimpleStringDictionary  *config_params_; // Create parameters (STRONG)
-
-  OnDemandServer          inspector_;
-
-  bool                    send_and_exit_;  // Exit after sending, if true
-
-  BreakpadFilterCallback  filter_callback_;
-  void                    *filter_callback_context_;
-};
-
-#pragma mark -
-#pragma mark Helper functions
-
-//=============================================================================
-// Helper functions
-
-//=============================================================================
-static BOOL IsDebuggerActive() {
-  BOOL result = NO;
-  NSUserDefaults *stdDefaults = [NSUserDefaults standardUserDefaults];
-
-  // We check both defaults and the environment variable here
-
-  BOOL ignoreDebugger = [stdDefaults boolForKey:@IGNORE_DEBUGGER];
-
-  if (!ignoreDebugger) {
-    char *ignoreDebuggerStr = getenv(IGNORE_DEBUGGER);
-    ignoreDebugger = (ignoreDebuggerStr ? strtol(ignoreDebuggerStr, NULL, 10) : 0) != 0;
-  }
-
-  if (!ignoreDebugger) {
-    pid_t pid = getpid();
-    int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_PID, pid};
-    int mibSize = sizeof(mib) / sizeof(int);
-    size_t actualSize;
-
-    if (sysctl(mib, mibSize, NULL, &actualSize, NULL, 0) == 0) {
-      struct kinfo_proc *info = (struct kinfo_proc *)malloc(actualSize);
-
-      if (info) {
-        // This comes from looking at the Darwin xnu Kernel
-        if (sysctl(mib, mibSize, info, &actualSize, NULL, 0) == 0)
-          result = (info->kp_proc.p_flag & P_TRACED) ? YES : NO;
-
-        free(info);
-      }
-    }
-  }
-
-  return result;
-}
-
-//=============================================================================
-bool Breakpad::ExceptionHandlerDirectCallback(void *context,
-                                                    int exception_type,
-                                                    int exception_code,
-                                                    int exception_subcode,
-                                                    mach_port_t crashing_thread) {
-  Breakpad *breakpad = (Breakpad *)context;
-
-  // If our context is damaged or something, just return false to indicate that
-  // the handler should continue without us.
-  if (!breakpad)
-    return false;
-
-  return breakpad->HandleException( exception_type,
-                                    exception_code,
-                                    exception_subcode,
-                                    crashing_thread);
-}
-
-//=============================================================================
-#pragma mark -
-
-#include <mach-o/dyld.h>
-
-//=============================================================================
-// Returns the pathname to the Resources directory for this version of
-// Breakpad which we are now running.
-//
-// Don't make the function static, since _dyld_lookup_and_bind_fully needs a
-// simple non-static C name
-//
-extern "C" {
-NSString * GetResourcePath();
-NSString * GetResourcePath() {
-  NSString *resourcePath = nil;
-
-  // If there are multiple breakpads installed then calling bundleWithIdentifier
-  // will not work properly, so only use that as a backup plan.
-  // We want to find the bundle containing the code where this function lives
-  // and work from there
-  //
-
-  // Get the pathname to the code which contains this function
-  void *address = nil;
-  NSModule module = nil;
-  _dyld_lookup_and_bind_fully("_GetResourcePath",
-                              &address,
-                              &module);
-
-  if (module && address) {
-    const char* moduleName = NSNameOfModule(module);
-    if (moduleName) {
-      // The "Resources" directory should be in the same directory as the
-      // executable code, since that's how the Breakpad framework is built.
-      resourcePath = [NSString stringWithUTF8String:moduleName];
-      resourcePath = [resourcePath stringByDeletingLastPathComponent];
-      resourcePath = [resourcePath stringByAppendingPathComponent:@"Resources/"];
-     } else {
-      DEBUGLOG(stderr, "Missing moduleName\n");
-    }
-  } else {
-    DEBUGLOG(stderr, "Could not find GetResourcePath\n");
-    // fallback plan
-    NSBundle *bundle =
-      [NSBundle bundleWithIdentifier:@"com.Google.BreakpadFramework"];
-    resourcePath = [bundle resourcePath];
-  }
-
-  return resourcePath;
-}
-}  // extern "C"
-
-//=============================================================================
-bool Breakpad::Initialize(NSDictionary *parameters) {
-  // Initialize
-  config_params_ = NULL;
-  handler_ = NULL;
-
-  // Check for debugger
-  if (IsDebuggerActive()) {
-    DEBUGLOG(stderr, "Debugger is active:  Not installing handler\n");
-    return true;
-  }
-
-  // Gather any user specified parameters
-  if (!ExtractParameters(parameters)) {
-    return false;
-  }
-
-  // Get path to Inspector executable.
-  NSString *inspectorPathString = KeyValue(@BREAKPAD_INSPECTOR_LOCATION);
-
-  // Standardize path (resolve symlinkes, etc.)  and escape spaces
-  inspectorPathString = [inspectorPathString stringByStandardizingPath];
-  inspectorPathString = [[inspectorPathString componentsSeparatedByString:@" "]
-                                              componentsJoinedByString:@"\\ "];
-
-  // Create an on-demand server object representing the Inspector.
-  // In case of a crash, we simply need to call the LaunchOnDemand()
-  // method on it, then send a mach message to its service port.
-  // It will then launch and perform a process inspection of our crashed state.
-  // See the HandleException() method for the details.
-#define RECEIVE_PORT_NAME "com.Breakpad.Inspector"
-
-  name_t portName;
-  snprintf(portName, sizeof(name_t),  "%s%d", RECEIVE_PORT_NAME, getpid());
-
-  // Save the location of the Inspector
-  strlcpy(inspector_path_, [inspectorPathString fileSystemRepresentation],
-          sizeof(inspector_path_));
-
-  // Append a single command-line argument to the Inspector path
-  // representing the bootstrap name of the launch-on-demand receive port.
-  // When the Inspector is launched, it can use this to lookup the port
-  // by calling bootstrap_check_in().
-  strlcat(inspector_path_, " ", sizeof(inspector_path_));
-  strlcat(inspector_path_, portName, sizeof(inspector_path_));
-
-  kern_return_t kr = inspector_.Initialize(inspector_path_,
-                                           portName,
-                                           true);        // shutdown on exit
-
-  if (kr != KERN_SUCCESS) {
-    return false;
-  }
-
-  // Create the handler (allocating it in our special protected pool)
-  handler_ =
-    new (gBreakpadAllocator->Allocate(sizeof(google_breakpad::ExceptionHandler)))
-      google_breakpad::ExceptionHandler(
-        Breakpad::ExceptionHandlerDirectCallback, this, true);
-  return true;
-}
-
-//=============================================================================
-Breakpad::~Breakpad() {
-  // Note that we don't use operator delete() on these pointers,
-  // since they were allocated by ProtectedMemoryAllocator objects.
-  //
-  if (config_params_) {
-    config_params_->~SimpleStringDictionary();
-  }
-
-  if (handler_)
-    handler_->~ExceptionHandler();
-}
-
-//=============================================================================
-bool Breakpad::ExtractParameters(NSDictionary *parameters) {
-  NSUserDefaults *stdDefaults = [NSUserDefaults standardUserDefaults];
-  NSString *skipConfirm = [stdDefaults stringForKey:@BREAKPAD_SKIP_CONFIRM];
-  NSString *sendAndExit = [stdDefaults stringForKey:@BREAKPAD_SEND_AND_EXIT];
-
-  NSString *serverType = [parameters objectForKey:@BREAKPAD_SERVER_TYPE];
-  NSString *display = [parameters objectForKey:@BREAKPAD_PRODUCT_DISPLAY];
-  NSString *product = [parameters objectForKey:@BREAKPAD_PRODUCT];
-  NSString *version = [parameters objectForKey:@BREAKPAD_VERSION];
-  NSString *urlStr = [parameters objectForKey:@BREAKPAD_URL];
-  NSString *interval = [parameters objectForKey:@BREAKPAD_REPORT_INTERVAL];
-  NSString *inspectorPathString =
-                [parameters objectForKey:@BREAKPAD_INSPECTOR_LOCATION];
-  NSString *reporterPathString =
-                [parameters objectForKey:@BREAKPAD_REPORTER_EXE_LOCATION];
-  NSString *timeout = [parameters objectForKey:@BREAKPAD_CONFIRM_TIMEOUT];
-  NSArray  *logFilePaths = [parameters objectForKey:@BREAKPAD_LOGFILES];
-  NSString *logFileTailSize = [parameters objectForKey:@BREAKPAD_LOGFILE_UPLOAD_SIZE];
-  NSString *reportEmail = [parameters objectForKey:@BREAKPAD_EMAIL];
-  NSString *requestUserText =
-                [parameters objectForKey:@BREAKPAD_REQUEST_COMMENTS];
-  NSString *requestEmail = [parameters objectForKey:@BREAKPAD_REQUEST_EMAIL];
-  NSString *vendor =
-    [parameters objectForKey:@BREAKPAD_VENDOR];
-  NSString *dumpSubdirectory =
-    [parameters objectForKey:@BREAKPAD_DUMP_DIRECTORY];
-
-  NSDictionary *serverParameters = 
-    [parameters objectForKey:@BREAKPAD_SERVER_PARAMETER_DICT];
-
-  // These may have been set above as user prefs, which take priority.
-  if (!skipConfirm) {
-    skipConfirm = [parameters objectForKey:@BREAKPAD_SKIP_CONFIRM];
-  }
-  if (!sendAndExit) {
-    sendAndExit = [parameters objectForKey:@BREAKPAD_SEND_AND_EXIT];
-  }
-
-  if (!product)
-    product = [parameters objectForKey:@"CFBundleName"];
-
-  if (!display)
-    display = product;
-
-  if (!version)
-    version = [parameters objectForKey:@"CFBundleVersion"];
-
-  if (!interval)
-    interval = @"3600";
-
-  if (!timeout)
-    timeout = @"300";
-
-  if (!logFileTailSize)
-    logFileTailSize = @"200000";
-
-  if (!vendor) {
-    vendor = @"Vendor not specified";
-  }
-
-  // Normalize the values
-  if (skipConfirm) {
-    skipConfirm = [skipConfirm uppercaseString];
-
-    if ([skipConfirm isEqualToString:@"YES"] ||
-        [skipConfirm isEqualToString:@"TRUE"] ||
-        [skipConfirm isEqualToString:@"1"])
-      skipConfirm = @"YES";
-    else
-      skipConfirm = @"NO";
-  } else {
-    skipConfirm = @"NO";
-  }
-
-  send_and_exit_ = true;
-  if (sendAndExit) {
-    sendAndExit = [sendAndExit uppercaseString];
-
-    if ([sendAndExit isEqualToString:@"NO"] ||
-        [sendAndExit isEqualToString:@"FALSE"] ||
-        [sendAndExit isEqualToString:@"0"])
-      send_and_exit_ = false;
-  }
-
-  if (requestUserText) {
-    requestUserText = [requestUserText uppercaseString];
-
-    if ([requestUserText isEqualToString:@"YES"] ||
-        [requestUserText isEqualToString:@"TRUE"] ||
-        [requestUserText isEqualToString:@"1"])
-      requestUserText = @"YES";
-    else
-      requestUserText = @"NO";
-  } else {
-    requestUserText = @"NO";
-  }
-
-  // Find the helper applications if not specified in user config.
-  NSString *resourcePath = nil;
-  if (!inspectorPathString || !reporterPathString) {
-    resourcePath = GetResourcePath();
-    if (!resourcePath) {
-      DEBUGLOG(stderr, "Could not get resource path\n");
-      return false;
-    }
-  }
-
-  // Find Inspector.
-  if (!inspectorPathString) {
-    inspectorPathString =
-        [resourcePath stringByAppendingPathComponent:@"Inspector"];
-  }
-
-  // Verify that there is an Inspector tool
-  if (![[NSFileManager defaultManager] fileExistsAtPath:inspectorPathString]) {
-    DEBUGLOG(stderr, "Cannot find Inspector tool\n");
-    return false;
-  }
-
-  // Find Reporter.
-  if (!reporterPathString) {
-    reporterPathString =
-      [resourcePath stringByAppendingPathComponent:@"crash_report_sender.app"];
-    reporterPathString = [[NSBundle bundleWithPath:reporterPathString] executablePath];
-  }
-
-  // Verify that there is a Reporter application
-  if (![[NSFileManager defaultManager]
-             fileExistsAtPath:reporterPathString]) {
-    DEBUGLOG(stderr, "Cannot find Reporter tool\n");
-    return false;
-  }
-
-  if (!dumpSubdirectory) {
-    dumpSubdirectory = @"";
-  }
-
-  // The product, version, and URL are required values.
-  if (![product length]) {
-    DEBUGLOG(stderr, "Missing required product key.\n");
-    return false;
-  }
-
-  if (![version length]) {
-    DEBUGLOG(stderr, "Missing required version key.\n");
-    return false;
-  }
-
-  if (![urlStr length]) {
-    DEBUGLOG(stderr, "Missing required URL key.\n");
-    return false;
-  }
-
-  config_params_ =
-      new (gKeyValueAllocator->Allocate(sizeof(SimpleStringDictionary)) )
-        SimpleStringDictionary();
-
-  SimpleStringDictionary &dictionary = *config_params_;
-
-  dictionary.SetKeyValue(BREAKPAD_SERVER_TYPE,     [serverType UTF8String]);
-  dictionary.SetKeyValue(BREAKPAD_PRODUCT_DISPLAY, [display UTF8String]);
-  dictionary.SetKeyValue(BREAKPAD_PRODUCT,         [product UTF8String]);
-  dictionary.SetKeyValue(BREAKPAD_VERSION,         [version UTF8String]);
-  dictionary.SetKeyValue(BREAKPAD_URL,             [urlStr UTF8String]);
-  dictionary.SetKeyValue(BREAKPAD_REPORT_INTERVAL, [interval UTF8String]);
-  dictionary.SetKeyValue(BREAKPAD_SKIP_CONFIRM,    [skipConfirm UTF8String]);
-  dictionary.SetKeyValue(BREAKPAD_CONFIRM_TIMEOUT, [timeout UTF8String]);
-  dictionary.SetKeyValue(BREAKPAD_INSPECTOR_LOCATION,
-                           [inspectorPathString fileSystemRepresentation]);
-  dictionary.SetKeyValue(BREAKPAD_REPORTER_EXE_LOCATION,
-                           [reporterPathString fileSystemRepresentation]);
-  dictionary.SetKeyValue(BREAKPAD_LOGFILE_UPLOAD_SIZE,
-                         [logFileTailSize UTF8String]);
-  dictionary.SetKeyValue(BREAKPAD_REQUEST_COMMENTS,
-                         [requestUserText UTF8String]);
-  dictionary.SetKeyValue(BREAKPAD_REQUEST_EMAIL, [requestEmail UTF8String]);
-  dictionary.SetKeyValue(BREAKPAD_VENDOR, [vendor UTF8String]);
-  dictionary.SetKeyValue(BREAKPAD_DUMP_DIRECTORY,
-                         [dumpSubdirectory UTF8String]);
-  
-  struct timeval tv;
-  gettimeofday(&tv, NULL);
-  char timeStartedString[32];
-  sprintf(timeStartedString, "%d", tv.tv_sec);
-  dictionary.SetKeyValue(BREAKPAD_PROCESS_START_TIME,
-                         timeStartedString);
-
-  if (logFilePaths) {
-    char logFileKey[255];
-    for(unsigned int i = 0; i < [logFilePaths count]; i++) {
-      sprintf(logFileKey,"%s%d", BREAKPAD_LOGFILE_KEY_PREFIX, i);
-      dictionary.SetKeyValue(logFileKey,
-                             [[logFilePaths objectAtIndex:i]
-                               fileSystemRepresentation]);
-    }
-  }
-
-  if (reportEmail) {
-    dictionary.SetKeyValue(BREAKPAD_EMAIL,
-                           [reportEmail UTF8String]);
-  }
-
-  if (serverParameters) {
-    // For each key-value pair, call BreakpadAddUploadParameter()
-    NSEnumerator *keyEnumerator = [serverParameters keyEnumerator];
-    NSString *aParameter;
-    while (aParameter = [keyEnumerator nextObject]) {
-      BreakpadAddUploadParameter(this, aParameter,
-				 [serverParameters objectForKey:aParameter]);
-    }
-  }
-  return true;
-}
-
-//=============================================================================
-void        Breakpad::SetKeyValue(NSString *key, NSString *value) {
-  // We allow nil values. This is the same as removing the keyvalue.
-  if (!config_params_ || !key)
-    return;
-
-  config_params_->SetKeyValue([key UTF8String], [value UTF8String]);
-}
-
-//=============================================================================
-NSString *  Breakpad::KeyValue(NSString *key) {
-  if (!config_params_ || !key)
-    return nil;
-
-  const char *value = config_params_->GetValueForKey([key UTF8String]);
-  return value ? [NSString stringWithUTF8String:value] : nil;
-}
-
-//=============================================================================
-void        Breakpad::RemoveKeyValue(NSString *key) {
-  if (!config_params_ || !key)
-    return;
-
-  config_params_->RemoveKey([key UTF8String]);
-}
-
-//=============================================================================
-void        Breakpad::GenerateAndSendReport() {
-  HandleException(0, 0, 0, mach_thread_self()); 
-}
-
-//=============================================================================
-bool Breakpad::HandleException(int           exception_type,
-                               int           exception_code,
-                               int           exception_subcode,
-                               mach_port_t   crashing_thread) {
-  DEBUGLOG(stderr, "Breakpad: an exception occurred\n");
-
-  if (filter_callback_) {
-    bool should_handle = filter_callback_(exception_type,
-                                          exception_code,
-                                          crashing_thread,
-                                          filter_callback_context_);
-    if (!should_handle) return false;
-  }
-
-  // We need to reset the memory protections to be read/write,
-  // since LaunchOnDemand() requires changing state.
-  gBreakpadAllocator->Unprotect();
-  // Configure the server to launch when we message the service port.
-  // The reason we do this here, rather than at startup, is that we
-  // can leak a bootstrap service entry if this method is called and
-  // there never ends up being a crash.
-  inspector_.LaunchOnDemand();
-  gBreakpadAllocator->Protect();
-
-  // The Inspector should send a message to this port to verify it
-  // received our information and has finished the inspection.
-  ReceivePort acknowledge_port;
-
-  // Send initial information to the Inspector.
-  MachSendMessage message(kMsgType_InspectorInitialInfo);
-  message.AddDescriptor(mach_task_self());          // our task
-  message.AddDescriptor(crashing_thread);           // crashing thread
-  message.AddDescriptor(mach_thread_self());        // exception-handling thread
-  message.AddDescriptor(acknowledge_port.GetPort());// message receive port
-
-  InspectorInfo info;
-  info.exception_type = exception_type;
-  info.exception_code = exception_code;
-  info.exception_subcode = exception_subcode;
-  info.parameter_count = config_params_->GetCount();
-  message.SetData(&info, sizeof(info));
-
-  MachPortSender sender(inspector_.GetServicePort());
-
-  kern_return_t result = sender.SendMessage(message, 2000);
-
-  if (result == KERN_SUCCESS) {
-    // Now, send a series of key-value pairs to the Inspector.
-    const KeyValueEntry *entry = NULL;
-    SimpleStringDictionaryIterator iter(*config_params_);
-
-    while ( (entry = iter.Next()) ) {
-      KeyValueMessageData keyvalue_data(*entry);
-
-      MachSendMessage keyvalue_message(kMsgType_InspectorKeyValuePair);
-      keyvalue_message.SetData(&keyvalue_data, sizeof(keyvalue_data));
-
-      result = sender.SendMessage(keyvalue_message, 2000);
-
-      if (result != KERN_SUCCESS) {
-        break;
-      }
-    }
-
-    if (result == KERN_SUCCESS) {
-      // Wait for acknowledgement that the inspection has finished.
-      MachReceiveMessage acknowledge_messsage;
-      result = acknowledge_port.WaitForMessage(&acknowledge_messsage, 5000);
-    }
-  }
-
-#if VERBOSE
-  PRINT_MACH_RESULT(result, "Breakpad: SendMessage ");
-  printf("Breakpad: Inspector service port = %#x\n",
-    inspector_.GetServicePort());
-#endif
-
-  // If we don't want any forwarding, return true here to indicate that we've
-  // processed things as much as we want.
-  if (send_and_exit_)
-    return true;
-
-  return false;
-}
-
-//=============================================================================
-//=============================================================================
-
-#pragma mark -
-#pragma mark Public API
-
-//=============================================================================
-BreakpadRef BreakpadCreate(NSDictionary *parameters) {
-  try {
-    // This is confusing.  Our two main allocators for breakpad memory are:
-    //    - gKeyValueAllocator for the key/value memory
-    //    - gBreakpadAllocator for the Breakpad, ExceptionHandler, and other
-    //      breakpad allocations which are accessed at exception handling time.
-    //
-    // But in order to avoid these two allocators themselves from being smashed,
-    // we'll protect them as well by allocating them with gMasterAllocator.
-    //
-    // gMasterAllocator itself will NOT be protected, but this doesn't matter,
-    // since once it does its allocations and locks the memory, smashes to itself
-    // don't affect anything we care about.
-    gMasterAllocator =
-      new ProtectedMemoryAllocator(sizeof(ProtectedMemoryAllocator) * 2);
-
-    gKeyValueAllocator =
-      new (gMasterAllocator->Allocate(sizeof(ProtectedMemoryAllocator)))
-        ProtectedMemoryAllocator(sizeof(SimpleStringDictionary));
-
-    // Create a mutex for use in accessing the SimpleStringDictionary
-    int mutexResult = pthread_mutex_init(&gDictionaryMutex, NULL);
-    if (mutexResult != 0) {
-      throw mutexResult;   // caught down below
-    }
-
-    // With the current compiler, gBreakpadAllocator is allocating 1444 bytes.
-    // Let's round up to the nearest page size.
-    //
-    int breakpad_pool_size = 4096;
-
-    /*
-     sizeof(Breakpad)
-     + sizeof(google_breakpad::ExceptionHandler)
-     + sizeof( STUFF ALLOCATED INSIDE ExceptionHandler )
-     */
-
-    gBreakpadAllocator =
-      new (gMasterAllocator->Allocate(sizeof(ProtectedMemoryAllocator)))
-        ProtectedMemoryAllocator(breakpad_pool_size);
-
-    // Stack-based autorelease pool for Breakpad::Create() obj-c code.
-    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
-    Breakpad *breakpad = Breakpad::Create(parameters);
-
-    if (breakpad) {
-      // Make read-only to protect against memory smashers
-      gMasterAllocator->Protect();
-      gKeyValueAllocator->Protect();
-      gBreakpadAllocator->Protect();
-    } else {
-      [pool release];
-#ifdef __EXCEPTIONS
-      throw(-1);
-#else
-      return NULL;
-#endif
-    }
-
-    // Can uncomment this line to figure out how much space was actually
-    // allocated using this allocator
-    //     printf("gBreakpadAllocator allocated size = %d\n",
-    //         gBreakpadAllocator->GetAllocatedSize() );
-
-    [pool release];
-    return (BreakpadRef)breakpad;
-  } catch(...) {    // don't let exceptions leave this C API
-    if (gKeyValueAllocator) {
-      gKeyValueAllocator->~ProtectedMemoryAllocator();
-      gKeyValueAllocator = NULL;
-    }
-
-    if (gBreakpadAllocator) {
-      gBreakpadAllocator->~ProtectedMemoryAllocator();
-      gBreakpadAllocator = NULL;
-    }
-
-    delete gMasterAllocator;
-    gMasterAllocator = NULL;
-  }
-
-  return NULL;
-}
-
-//=============================================================================
-void BreakpadRelease(BreakpadRef ref) {
-  try {
-    Breakpad *breakpad = (Breakpad *)ref;
-
-    if (gMasterAllocator) {
-      gMasterAllocator->Unprotect();
-      gKeyValueAllocator->Unprotect();
-      gBreakpadAllocator->Unprotect();
-
-      breakpad->~Breakpad();
-
-      // Unfortunately, it's not possible to deallocate this stuff
-      // because the exception handling thread is still finishing up
-      // asynchronously at this point...  OK, it could be done with
-      // locks, etc.  But since BreakpadRelease() should usually only
-      // be called right before the process exits, it's not worth
-      // deallocating this stuff.
-#if 0
-      gKeyValueAllocator->~ProtectedMemoryAllocator();
-      gBreakpadAllocator->~ProtectedMemoryAllocator();
-      delete gMasterAllocator;
-
-      gMasterAllocator = NULL;
-      gKeyValueAllocator = NULL;
-      gBreakpadAllocator = NULL;
-#endif
-
-      pthread_mutex_destroy(&gDictionaryMutex);
-    }
-  } catch(...) {    // don't let exceptions leave this C API
-    fprintf(stderr, "BreakpadRelease() : error\n");
-  }
-}
-
-//=============================================================================
-void BreakpadSetKeyValue(BreakpadRef ref, NSString *key, NSString *value) {
-  try {
-    // Not called at exception time
-    Breakpad *breakpad = (Breakpad *)ref;
-
-    if (breakpad && key && gKeyValueAllocator) {
-      ProtectedMemoryLocker locker(&gDictionaryMutex, gKeyValueAllocator);
-
-      breakpad->SetKeyValue(key, value);
-    }
-  } catch(...) {    // don't let exceptions leave this C API
-    fprintf(stderr, "BreakpadSetKeyValue() : error\n");
-  }
-}
-
-void BreakpadAddUploadParameter(BreakpadRef ref,
-                                NSString *key,
-                                NSString *value) {
-  // The only difference, internally, between an upload parameter and
-  // a key value one that is set with BreakpadSetKeyValue is that we
-  // prepend the keyname with a special prefix.  This informs the
-  // crash sender that the parameter should be sent along with the
-  // POST of the crash dump upload.
-  try {
-    Breakpad *breakpad = (Breakpad *)ref;
-
-    if (breakpad && key && gKeyValueAllocator) {
-      ProtectedMemoryLocker locker(&gDictionaryMutex, gKeyValueAllocator);
-
-      NSString *prefixedKey = [@BREAKPAD_SERVER_PARAMETER_PREFIX
-				stringByAppendingString:key];
-      breakpad->SetKeyValue(prefixedKey, value);
-    }
-  } catch(...) {    // don't let exceptions leave this C API
-    fprintf(stderr, "BreakpadSetKeyValue() : error\n");
-  }
-}
-
-void BreakpadRemoveUploadParameter(BreakpadRef ref,
-                                   NSString *key) {
-  try {
-    // Not called at exception time
-    Breakpad *breakpad = (Breakpad *)ref;
-
-    if (breakpad && key && gKeyValueAllocator) {
-      ProtectedMemoryLocker locker(&gDictionaryMutex, gKeyValueAllocator);
-
-      NSString *prefixedKey = [NSString stringWithFormat:@"%@%@",
-                                        @BREAKPAD_SERVER_PARAMETER_PREFIX, key];
-      breakpad->RemoveKeyValue(prefixedKey);
-    }
-  } catch(...) {    // don't let exceptions leave this C API
-    fprintf(stderr, "BreakpadRemoveKeyValue() : error\n");
-  }
-}
-//=============================================================================
-NSString *BreakpadKeyValue(BreakpadRef ref, NSString *key) {
-  NSString *value = nil;
-
-  try {
-    // Not called at exception time
-    Breakpad *breakpad = (Breakpad *)ref;
-
-    if (!breakpad || !key || !gKeyValueAllocator)
-      return nil;
-
-    ProtectedMemoryLocker locker(&gDictionaryMutex, gKeyValueAllocator);
-
-    value = breakpad->KeyValue(key);
-  } catch(...) {    // don't let exceptions leave this C API
-    fprintf(stderr, "BreakpadKeyValue() : error\n");
-  }
-
-  return value;
-}
-
-//=============================================================================
-void BreakpadRemoveKeyValue(BreakpadRef ref, NSString *key) {
-  try {
-    // Not called at exception time
-    Breakpad *breakpad = (Breakpad *)ref;
-
-    if (breakpad && key && gKeyValueAllocator) {
-      ProtectedMemoryLocker locker(&gDictionaryMutex, gKeyValueAllocator);
-
-      breakpad->RemoveKeyValue(key);
-    }
-  } catch(...) {    // don't let exceptions leave this C API
-    fprintf(stderr, "BreakpadRemoveKeyValue() : error\n");
-  }
-}
-
-//=============================================================================
-void BreakpadGenerateAndSendReport(BreakpadRef ref) {
-  try {
-    Breakpad *breakpad = (Breakpad *)ref;
-
-    if (breakpad && gKeyValueAllocator) {
-      ProtectedMemoryLocker locker(&gDictionaryMutex, gKeyValueAllocator);
-
-      gBreakpadAllocator->Unprotect();
-      breakpad->GenerateAndSendReport();
-      gBreakpadAllocator->Protect();
-    }
-  } catch(...) {    // don't let exceptions leave this C API
-    fprintf(stderr, "BreakpadGenerateAndSendReport() : error\n");
-  }
-}
-
-//=============================================================================
-void BreakpadSetFilterCallback(BreakpadRef ref,
-                               BreakpadFilterCallback callback,
-                               void *context) {
-
-  try {
-    Breakpad *breakpad = (Breakpad *)ref;
-
-    if (breakpad && gBreakpadAllocator) {
-      // share the dictionary mutex here (we really don't need a mutex)
-      ProtectedMemoryLocker locker(&gDictionaryMutex, gBreakpadAllocator);
-
-      breakpad->SetFilterCallback(callback, context);
-    }
-  } catch(...) {    // don't let exceptions leave this C API
-    fprintf(stderr, "BreakpadSetFilterCallback() : error\n");
-  }
-}
-
-//============================================================================
-void BreakpadAddLogFile(BreakpadRef ref, NSString *logPathname) {
-  int logFileCounter = 0;
-
-  NSString *logFileKey = [NSString stringWithFormat:@"%@%d",
-                                   @BREAKPAD_LOGFILE_KEY_PREFIX,
-                                   logFileCounter];
-
-  NSString *existingLogFilename = nil;
-  existingLogFilename = BreakpadKeyValue(ref, logFileKey);
-  // Find the first log file key that we can use by testing for existence
-  while (existingLogFilename) {
-    if ([existingLogFilename isEqualToString:logPathname]) {
-      return;
-    }
-    logFileCounter++;
-    logFileKey = [NSString stringWithFormat:@"%@%d",
-                           @BREAKPAD_LOGFILE_KEY_PREFIX,
-                           logFileCounter];
-    existingLogFilename = BreakpadKeyValue(ref, logFileKey);
-  }
-
-  BreakpadSetKeyValue(ref, logFileKey, logPathname);
-}
deleted file mode 100644
--- a/toolkit/crashreporter/google-breakpad/src/client/mac/Framework/Breakpad_Prefix.pch
+++ /dev/null
@@ -1,8 +0,0 @@
-//
-// Prefix header for all source files of the 'Breakpad' target in the
-// 'Breakpad' project.
-//
-
-#ifdef __OBJC__
-    #import <Cocoa/Cocoa.h>
-#endif
deleted file mode 100644
--- a/toolkit/crashreporter/google-breakpad/src/client/mac/Framework/Info.plist
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleDevelopmentRegion</key>
-	<string>English</string>
-	<key>CFBundleExecutable</key>
-	<string>${EXECUTABLE_NAME}</string>
-	<key>CFBundleName</key>
-	<string>${PRODUCT_NAME}</string>
-	<key>CFBundleIconFile</key>
-	<string></string>
-	<key>CFBundleIdentifier</key>
-	<string>com.googlecode.google-breakpad</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundlePackageType</key>
-	<string>FMWK</string>
-	<key>CFBundleSignature</key>
-	<string>????</string>
-	<key>CFBundleVersion</key>
-	<string>1.0</string>
-	<key>NSPrincipalClass</key>
-	<string></string>
-</dict>
-</plist>
deleted file mode 100644
--- a/toolkit/crashreporter/google-breakpad/src/client/mac/Framework/OnDemandServer.h
+++ /dev/null
@@ -1,146 +0,0 @@
-// Copyright (c) 2007, Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-#import <iostream>
-#import <mach/mach.h>
-#import <servers/bootstrap.h>
-#import <stdio.h>
-#import <stdlib.h>
-#import <sys/stat.h>
-#import <unistd.h>
-
-//==============================================================================
-// class OnDemandServer :
-//    A basic on-demand server launcher supporting a single named service port
-//
-// Example Usage :
-//
-//  kern_return_t result;
-//  OnDemandServer *server = OnDemandServer::Create("/tmp/myserver",
-//                                                  "com.MyCompany.MyServiceName",
-//                                                  true,
-//                                                  &result);
-//
-//  if (server) {
-//    server->LaunchOnDemand();
-//    mach_port_t service_port = GetServicePort();
-//
-//    // Send a mach message to service_port and "myserver" will be launched
-//  }
-//
-//
-//                  ---- Now in the server code ----
-//
-//  // "myserver" should get the service port and read the message which
-//  // launched it:
-//  mach_port_t service_rcv_port_;
-//  kern_return_t kr = bootstrap_check_in(bootstrap_port,
-//                                      "com.MyCompany.MyServiceName",
-//                                      &service_rcv_port_);
-//  // mach_msg() read service_rcv_port_ ....
-//
-//  ....
-//
-//  // Later "myserver" may want to unregister the service if it doesn't
-//  // want its bootstrap service to stick around after it exits.
-//
-//  // DO NOT use mach_port_deallocate() here -- it will fail and the
-//  // following bootstrap_register() will also fail leaving our service
-//  // name hanging around forever (until reboot)
-//  kern_return_t kr = mach_port_destroy(mach_task_self(), service_rcv_port_);
-//
-//  kr = bootstrap_register(bootstrap_port,
-//                          "com.MyCompany.MyServiceName",
-//                          MACH_PORT_NULL);
-
-class OnDemandServer {
- public:
-  // must call Initialize() to be useful
-  OnDemandServer()
-    : server_port_(MACH_PORT_NULL),
-      service_port_(MACH_PORT_NULL),
-      unregister_on_cleanup_(true) {
-  }
-
-  // Creates the bootstrap server and service
-  kern_return_t Initialize(const char *server_command,
-                           const char *service_name,
-                           bool unregister_on_cleanup);
-
-  // Returns an OnDemandServer object if successful, or NULL if there's
-  // an error.  The error result will be returned in out_result.
-  //
-  //    server_command : the full path name including optional command-line
-  //      arguments to the executable representing the server
-  //
-  //    service_name : represents service name
-  //      something like "com.company.ServiceName"
-  //
-  //    unregister_on_cleanup : if true, unregisters the service name
-  //      when the OnDemandServer is deleted -- unregistering will
-  //      ONLY be possible if LaunchOnDemand() has NOT been called.
-  //      If false, then the service will continue to be registered
-  //      even after the current process quits.
-  //
-  //    out_result : if non-NULL, returns the result
-  //      this value will be KERN_SUCCESS if Create() returns non-NULL
-  //
-  static OnDemandServer *Create(const char *server_command,
-                                const char *service_name,
-                                bool unregister_on_cleanup,
-                                kern_return_t *out_result);
-
-  // Cleans up and if LaunchOnDemand() has not yet been called then
-  // the bootstrap service will be unregistered.
-  ~OnDemandServer();
-
-  // This must be called if we intend to commit to launching the server
-  // by sending a mach message to our service port.  Do not call it otherwise
-  // or it will be difficult (impossible?) to unregister the service name.
-  void LaunchOnDemand();
-
-  // This is the port we need to send a mach message to after calling
-  // LaunchOnDemand().  Sending a message causing an immediate launch
-  // of the server
-  mach_port_t GetServicePort() { return service_port_; };
-
- private:
-  // Disallow copy constructor
-  OnDemandServer(const OnDemandServer&);
-
-  // Cleans up and if LaunchOnDemand() has not yet been called then
-  // the bootstrap service will be unregistered.
-  void Unregister();
-
-  name_t      service_name_;
-
-  mach_port_t server_port_;
-  mach_port_t service_port_;
-  bool        unregister_on_cleanup_;
-};
deleted file mode 100644
--- a/toolkit/crashreporter/google-breakpad/src/client/mac/Framework/OnDemandServer.mm
+++ /dev/null
@@ -1,145 +0,0 @@
-// Copyright (c) 2007, Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-#import "OnDemandServer.h"
-
-#if DEBUG
-  #define PRINT_MACH_RESULT(result_, message_) \
-    printf(message_"%s (%d)\n", mach_error_string(result_), result_ );
-#else
-  #define PRINT_MACH_RESULT(result_, message_)
-#endif
-
-//==============================================================================
-OnDemandServer *OnDemandServer::Create(const char *server_command,
-                                       const char *service_name,
-                                       bool unregister_on_cleanup,
-                                       kern_return_t *out_result) {
-  OnDemandServer *server = new OnDemandServer();
-
-  if (!server) return NULL;
-
-  kern_return_t result = server->Initialize(server_command,
-                                            service_name,
-                                            unregister_on_cleanup);
-
-  if (out_result) {
-    *out_result = result;
-  }
-
-  if (result == KERN_SUCCESS) {
-    return server;
-  }
-
-  delete server;
-  return NULL;
-};
-
-//==============================================================================
-kern_return_t OnDemandServer::Initialize(const char *server_command,
-                                         const char *service_name,
-                                         bool unregister_on_cleanup) {
-  unregister_on_cleanup_ = unregister_on_cleanup;
-
-  kern_return_t kr =
-    bootstrap_create_server(bootstrap_port,
-                            const_cast<char*>(server_command),
-                            geteuid(),       // server uid
-                            true,
-                            &server_port_);
-
-  if (kr != KERN_SUCCESS) {
-    PRINT_MACH_RESULT(kr, "bootstrap_create_server() : ");
-    return kr;
-  }
-
-  strlcpy(service_name_, service_name, sizeof(service_name_));
-
-  // Create a service called service_name, and return send rights to
-  // that port in service_port_.
-  kr = bootstrap_create_service(server_port_,
-                                const_cast<char*>(service_name),
-                                &service_port_);
-
-  if (kr != KERN_SUCCESS) {
-    PRINT_MACH_RESULT(kr, "bootstrap_create_service() : ");
-
-    // perhaps the service has already been created - try to look it up
-    kr = bootstrap_look_up(bootstrap_port, (char*)service_name, &service_port_);
-
-    if (kr != KERN_SUCCESS) {
-      PRINT_MACH_RESULT(kr, "bootstrap_look_up() : ");
-      Unregister();  // clean up server port
-      return kr;
-    }
-  }
-
-  return KERN_SUCCESS;
-}
-
-//==============================================================================
-OnDemandServer::~OnDemandServer() {
-  if (unregister_on_cleanup_) {
-    Unregister();
-  }
-}
-
-//==============================================================================
-void OnDemandServer::LaunchOnDemand() {
-  // We need to do this, since the launched server is another process
-  // and holding on to this port delays launching until the current process
-  // exits!
-  mach_port_deallocate(mach_task_self(), server_port_);
-  server_port_ = NULL;
-
-  // Now, the service is still registered and all we need to do is send
-  // a mach message to the service port in order to launch the server.
-}
-
-//==============================================================================
-void OnDemandServer::Unregister() {
-  if (service_port_ != MACH_PORT_NULL) {
-    mach_port_deallocate(mach_task_self(), service_port_);
-    service_port_ = MACH_PORT_NULL;
-  }
-
-  if (server_port_ != MACH_PORT_NULL) {
-    // unregister the service
-    kern_return_t kr = bootstrap_register(server_port_,
-                                          service_name_,
-                                          MACH_PORT_NULL);
-
-    if (kr != KERN_SUCCESS) {
-      PRINT_MACH_RESULT(kr, "Breakpad UNREGISTER : bootstrap_register() : ");
-    }
-
-    mach_port_deallocate(mach_task_self(), server_port_);
-    server_port_ = MACH_PORT_NULL;
-  }
-}
deleted file mode 100644
--- a/toolkit/crashreporter/google-breakpad/src/client/mac/UnitTests-Info.plist
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleDevelopmentRegion</key>
-	<string>English</string>
-	<key>CFBundleExecutable</key>
-	<string>${EXECUTABLE_NAME}</string>
-	<key>CFBundleIdentifier</key>
-	<string>com.yourcompany.${PRODUCT_NAME:identifier}</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundlePackageType</key>
-	<string>BNDL</string>
-	<key>CFBundleSignature</key>
-	<string>????</string>
-	<key>CFBundleVersion</key>
-	<string>1.0</string>
-</dict>
-</plist>
deleted file mode 100644
--- a/toolkit/crashreporter/google-breakpad/src/client/mac/crash_generation/Inspector.h
+++ /dev/null
@@ -1,193 +0,0 @@
-// Copyright (c) 2007, Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
-// Interface file between the Breakpad.framework and
-// the Inspector process.
-
-#import "common/mac/SimpleStringDictionary.h"
-
-#import <Foundation/Foundation.h>
-#import "client/mac/handler/minidump_generator.h"
-
-#define VERBOSE 0
-
-extern bool gDebugLog;
-
-#define DEBUGLOG if (gDebugLog) fprintf
-
-// Types of mach messsages (message IDs)
-enum {
-  kMsgType_InspectorInitialInfo = 0,    // data is InspectorInfo
-  kMsgType_InspectorKeyValuePair = 1,   // data is KeyValueMessageData
-  kMsgType_InspectorAcknowledgement = 2 // no data sent
-};
-
-// Initial information sent from the crashed process by
-// Breakpad.framework to the Inspector process
-// The mach message with this struct as data will also include
-// several descriptors for sending mach port rights to the crashed
-// task, etc.
-struct InspectorInfo {
-  int           exception_type;
-  int           exception_code;
-  int           exception_subcode;
-  unsigned int  parameter_count;  // key-value pairs
-};
-
-// Key/value message data to be sent to the Inspector
-struct KeyValueMessageData {
- public:
-  KeyValueMessageData() {}
-  KeyValueMessageData(const google_breakpad::KeyValueEntry &inEntry) {
-    strlcpy(key, inEntry.GetKey(), sizeof(key) );
-    strlcpy(value, inEntry.GetValue(), sizeof(value) );
-  }
-
-  char key[google_breakpad::KeyValueEntry::MAX_STRING_STORAGE_SIZE];
-  char value[google_breakpad::KeyValueEntry::MAX_STRING_STORAGE_SIZE];
-};
-
-using std::string;
-using google_breakpad::MinidumpGenerator;
-
-namespace google_breakpad {
-
-static BOOL EnsureDirectoryPathExists(NSString *dirPath);
-
-//=============================================================================
-class ConfigFile {
- public:
-  ConfigFile() {
-    config_file_ = -1;
-    config_file_path_[0] = 0;
-    has_created_file_ = false;
-  };
-
-  ~ConfigFile() {
-  };
-
-  void WriteFile(const SimpleStringDictionary *configurationParameters,
-                 const char *dump_dir,
-                 const char *minidump_id);
-
-  const char *GetFilePath() { return config_file_path_; }
-
-  void Unlink() {
-    if (config_file_ != -1)
-      unlink(config_file_path_);
-
-    config_file_ = -1;
-  }
-
- private:
-  BOOL WriteData(const void *data, size_t length);
-
-  BOOL AppendConfigData(const char *key,
-                        const void *data,
-                        size_t length);
-
-  BOOL AppendConfigString(const char *key,
-                          const char *value);
-
-  int   config_file_;                    // descriptor for config file
-  char  config_file_path_[PATH_MAX];     // Path to configuration file
-  bool  has_created_file_;
-};
-
-//=============================================================================
-class MinidumpLocation {
- public:
-  MinidumpLocation(const NSString *minidumpDir) {
-    // Ensure that the path exists.  Fallback to /tmp if unable to locate path.
-    assert(minidumpDir);
-    if (!EnsureDirectoryPathExists(minidumpDir)) {
-      DEBUGLOG(stderr, "Unable to create: %s\n", [minidumpDir UTF8String]);
-      minidumpDir = @"/tmp";
-    }
-
-    strlcpy(minidump_dir_path_, [minidumpDir fileSystemRepresentation],
-            sizeof(minidump_dir_path_));
-
-    // now generate a unique ID
-    string dump_path(minidump_dir_path_);
-    string next_minidump_id;
-
-    string next_minidump_path_ =
-      (MinidumpGenerator::UniqueNameInDirectory(dump_path, &next_minidump_id));
-
-    strlcpy(minidump_id_, next_minidump_id.c_str(), sizeof(minidump_id_));
-  };
-
-  const char *GetPath() { return minidump_dir_path_; }
-  const char *GetID() { return minidump_id_; }
-
- private:
-  char minidump_dir_path_[PATH_MAX];             // Path to minidump directory
-  char minidump_id_[128];
-};
-
-//=============================================================================
-class Inspector {
- public:
-  Inspector() {};
-
-  // given a bootstrap service name, receives mach messages
-  // from a crashed process, then inspects it, creates a minidump file
-  // and asks the user if he wants to upload it to a server.
-  void            Inspect(const char *receive_port_name);
-
- private:
-  kern_return_t   ServiceCheckIn(const char *receive_port_name);
-  kern_return_t   ServiceCheckOut(const char *receive_port_name);
-
-  kern_return_t   ReadMessages();
-
-  bool            InspectTask();
-  kern_return_t   SendAcknowledgement();
-  void            LaunchReporter(const char *inConfigFilePath);
-
-  void            SetCrashTimeParameters();
-
-  mach_port_t     service_rcv_port_;
-
-  int             exception_type_;
-  int             exception_code_;
-  int             exception_subcode_;
-  mach_port_t     remote_task_;
-  mach_port_t     crashing_thread_;
-  mach_port_t     handler_thread_;
-  mach_port_t     ack_port_;
-
-  SimpleStringDictionary config_params_;
-
-  ConfigFile      config_file_;
-};
-
-
-} // namespace google_breakpad
deleted file mode 100644
--- a/toolkit/crashreporter/google-breakpad/src/client/mac/crash_generation/Inspector.mm
+++ /dev/null
@@ -1,534 +0,0 @@
-// Copyright (c) 2007, Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
-// Utility that can inspect another process and write a crash dump
-
-#include <cstdio>
-#include <iostream>
-#include <stdio.h>
-#include <string.h>
-#include <string>
-#include <sys/time.h>
-
-#import "client/mac/crash_generation/Inspector.h"
-
-#import "client/mac/Framework/Breakpad.h"
-#import "client/mac/handler/minidump_generator.h"
-
-#import "common/mac/SimpleStringDictionary.h"
-#import "common/mac/MachIPC.h"
-
-#import <Foundation/Foundation.h>
-
-#if VERBOSE
-  bool gDebugLog = true;
-#else
-  bool gDebugLog = false;
-#endif
-
-namespace google_breakpad {
-
-//=============================================================================
-static BOOL EnsureDirectoryPathExists(NSString *dirPath) {
-  NSFileManager *mgr = [NSFileManager defaultManager];
-
-  // If we got a relative path, prepend the current directory
-  if (![dirPath isAbsolutePath])
-    dirPath = [[mgr currentDirectoryPath] stringByAppendingPathComponent:dirPath];
-
-  NSString *path = dirPath;
-
-  // Ensure that no file exists within the path which would block creation
-  while (1) {
-    BOOL isDir;
-    if ([mgr fileExistsAtPath:path isDirectory:&isDir]) {
-      if (isDir)
-        break;
-
-      return NO;
-    }
-
-    path = [path stringByDeletingLastPathComponent];
-  }
-
-  // Path now contains the first valid directory (or is empty)
-  if (![path length])
-    return NO;
-
-  NSString *common =
-    [dirPath commonPrefixWithString:path options:NSLiteralSearch];
-
-  // If everything is good
-  if ([common isEqualToString:dirPath])
-    return YES;
-
-  // Break up the difference into components
-  NSString *diff = [dirPath substringFromIndex:[common length] + 1];
-  NSArray *components = [diff pathComponents];
-  unsigned count = [components count];
-
-  // Rebuild the path one component at a time
-  NSDictionary *attrs =
-    [NSDictionary dictionaryWithObject:[NSNumber numberWithUnsignedLong:0750]
-                                forKey:NSFilePosixPermissions];
-  path = common;
-  for (unsigned i = 0; i < count; ++i) {
-    path = [path stringByAppendingPathComponent:[components objectAtIndex:i]];
-
-    if (![mgr createDirectoryAtPath:path attributes:attrs])
-      return NO;
-  }
-
-  return YES;
-}
-
-//=============================================================================
-BOOL ConfigFile::WriteData(const void *data, size_t length) {
-  size_t result = write(config_file_, data, length);
-
-  return result == length;
-}
-
-//=============================================================================
-BOOL ConfigFile::AppendConfigData(const char *key,
-                                  const void *data, size_t length) {
-  assert(config_file_ != -1);
-
-  if (!key) {
-    DEBUGLOG(stderr, "Breakpad: Missing Key\n");
-    return NO;
-  }
-
-  if (!data) {
-    DEBUGLOG(stderr, "Breakpad: Missing data for key: %s\n", key ? key :
-            "<Unknown Key>");
-    return NO;
-  }
-
-  // Write the key, \n, length of data (ascii integer), \n, data
-  char buffer[16];
-  char nl = '\n';
-  BOOL result = WriteData(key, strlen(key));
-
-  snprintf(buffer, sizeof(buffer) - 1, "\n%lu\n", length);
-  result &= WriteData(buffer, strlen(buffer));
-  result &= WriteData(data, length);
-  result &= WriteData(&nl, 1);
-  return result;
-}
-
-//=============================================================================
-BOOL ConfigFile::AppendConfigString(const char *key,
-                                    const char *value) {
-  return AppendConfigData(key, value, strlen(value));
-}
-
-//=============================================================================
-void ConfigFile::WriteFile(const SimpleStringDictionary *configurationParameters,
-                           const char *dump_dir,
-                           const char *minidump_id) {
-
-  assert(config_file_ == -1);
-
-  // Open and write out configuration file preamble
-  strlcpy(config_file_path_, "/tmp/Config-XXXXXX",
-          sizeof(config_file_path_));
-  config_file_ = mkstemp(config_file_path_);
-
-  if (config_file_ == -1) {
-    DEBUGLOG(stderr,
-             "mkstemp(config_file_path_) == -1 (%s)\n",
-             strerror(errno));
-    return;
-  }
-  else {
-    DEBUGLOG(stderr, "Writing config file to (%s)\n", config_file_path_);
-  }
-
-  has_created_file_ = true;
-
-  // Add the minidump dir
-  AppendConfigString(kReporterMinidumpDirectoryKey, dump_dir);
-  AppendConfigString(kReporterMinidumpIDKey, minidump_id);
-
-  // Write out the configuration parameters
-  BOOL result = YES;
-  const SimpleStringDictionary &dictionary = *configurationParameters;
-
-  const KeyValueEntry *entry = NULL;
-  SimpleStringDictionaryIterator iter(dictionary);
-
-  while ((entry = iter.Next())) {
-    DEBUGLOG(stderr,
-             "config: (%s) -> (%s)\n",
-             entry->GetKey(),
-             entry->GetValue());
-    result = AppendConfigString(entry->GetKey(), entry->GetValue());
-
-    if (!result)
-      break;
-  }
-
-  close(config_file_);
-  config_file_ = -1;
-}
-
-//=============================================================================
-void Inspector::Inspect(const char *receive_port_name) {
-  kern_return_t result = ServiceCheckIn(receive_port_name);
-
-  if (result == KERN_SUCCESS) {
-    result = ReadMessages();
-
-    if (result == KERN_SUCCESS) {
-      // Inspect the task and write a minidump file.
-      bool wrote_minidump = InspectTask();
-
-      // Send acknowledgement to the crashed process that the inspection
-      // has finished.  It will then be able to cleanly exit.
-      // The return value is ignored because failure isn't fatal. If the process
-      // didn't get the message there's nothing we can do, and we still want to
-      // send the report.
-      SendAcknowledgement();
-
-      if (wrote_minidump) {
-        // Ask the user if he wants to upload the crash report to a server,
-        // and do so if he agrees.
-        LaunchReporter(config_file_.GetFilePath());
-      } else {
-        fprintf(stderr, "Inspection of crashed process failed\n");
-      }
-
-      // Now that we're done reading messages, cleanup the service, but only
-      // if there was an actual exception
-      // Otherwise, it means the dump was generated on demand and the process
-      // lives on, and we might be needed again in the future.
-      if (exception_code_) {
-        ServiceCheckOut(receive_port_name);
-      }
-    } else {
-        PRINT_MACH_RESULT(result, "Inspector: WaitForMessage()");
-    }
-  }
-}
-
-//=============================================================================
-kern_return_t Inspector::ServiceCheckIn(const char *receive_port_name) {
-  // We need to get the mach port representing this service, so we can
-  // get information from the crashed process.
-  kern_return_t kr = bootstrap_check_in(bootstrap_port,
-                                        (char*)receive_port_name,
-                                        &service_rcv_port_);
-
-  if (kr != KERN_SUCCESS) {
-#if VERBOSE
-    PRINT_MACH_RESULT(kr, "Inspector: bootstrap_check_in()");
-#endif
-  }
-
-  return kr;
-}
-
-//=============================================================================
-kern_return_t Inspector::ServiceCheckOut(const char *receive_port_name) {
-  // We're done receiving mach messages from the crashed process,
-  // so clean up a bit.
-  kern_return_t kr;
-
-  // DO NOT use mach_port_deallocate() here -- it will fail and the
-  // following bootstrap_register() will also fail leaving our service
-  // name hanging around forever (until reboot)
-  kr = mach_port_destroy(mach_task_self(), service_rcv_port_);
-
-  if (kr != KERN_SUCCESS) {
-    PRINT_MACH_RESULT(kr,
-      "Inspector: UNREGISTERING: service_rcv_port mach_port_deallocate()");
-    return kr;
-  }
-
-  // Unregister the service associated with the receive port.
-  kr = bootstrap_register(bootstrap_port,
-                          (char*)receive_port_name,
-                          MACH_PORT_NULL);
-
-  if (kr != KERN_SUCCESS) {
-    PRINT_MACH_RESULT(kr, "Inspector: UNREGISTERING: bootstrap_register()");
-  }
-
-  return kr;
-}
-
-//=============================================================================
-kern_return_t Inspector::ReadMessages() {
-  // Wait for an initial message from the crashed process containing basic
-  // information about the crash.
-  ReceivePort receive_port(service_rcv_port_);
-
-  MachReceiveMessage message;
-  kern_return_t result = receive_port.WaitForMessage(&message, 1000);
-
-  if (result == KERN_SUCCESS) {
-    InspectorInfo &info = (InspectorInfo &)*message.GetData();
-    exception_type_ = info.exception_type;
-    exception_code_ = info.exception_code;
-    exception_subcode_ = info.exception_subcode;
-
-#if VERBOSE
-    printf("message ID = %d\n", message.GetMessageID());
-#endif
-
-    remote_task_ = message.GetTranslatedPort(0);
-    crashing_thread_ = message.GetTranslatedPort(1);
-    handler_thread_ = message.GetTranslatedPort(2);
-    ack_port_ = message.GetTranslatedPort(3);
-
-#if VERBOSE
-    printf("exception_type = %d\n", exception_type_);
-    printf("exception_code = %d\n", exception_code_);
-    printf("exception_subcode = %d\n", exception_subcode_);
-    printf("remote_task = %d\n", remote_task_);
-    printf("crashing_thread = %d\n", crashing_thread_);
-    printf("handler_thread = %d\n", handler_thread_);
-    printf("ack_port_ = %d\n", ack_port_);
-    printf("parameter count = %d\n", info.parameter_count);
-#endif
-
-    // The initial message contains the number of key value pairs that
-    // we are expected to read.
-    // Read each key/value pair, one mach message per key/value pair.
-    for (unsigned int i = 0; i < info.parameter_count; ++i) {
-      MachReceiveMessage message;
-      result = receive_port.WaitForMessage(&message, 1000);
-
-      if(result == KERN_SUCCESS) {
-        KeyValueMessageData &key_value_data =
-          (KeyValueMessageData&)*message.GetData();
-
-        config_params_.SetKeyValue(key_value_data.key, key_value_data.value);
-      } else {
-        PRINT_MACH_RESULT(result, "Inspector: key/value message");
-        break;
-      }
-    }
-  }
-
-  return result;
-}
-
-//=============================================================================
-// Sets keys in the parameters dictionary that are specific to process uptime.
-// The two we set are process up time, and process crash time.
-void Inspector::SetCrashTimeParameters() {
-  // Set process uptime parameter
-  struct timeval tv;
-  gettimeofday(&tv, NULL);
-
-  char processUptimeString[32], processCrashtimeString[32];
-  const char *processStartTimeString =
-    config_params_.GetValueForKey(BREAKPAD_PROCESS_START_TIME);
-
-  // Set up time if we've received the start time.
-  if (processStartTimeString) {
-    time_t processStartTime = strtol(processStartTimeString, NULL, 10);
-    time_t processUptime = tv.tv_sec - processStartTime;
-    sprintf(processUptimeString, "%d", processUptime);
-    config_params_.SetKeyValue(BREAKPAD_PROCESS_UP_TIME, processUptimeString);
-  }
-
-  sprintf(processCrashtimeString, "%d", tv.tv_sec);
-  config_params_.SetKeyValue(BREAKPAD_PROCESS_CRASH_TIME,
-                             processCrashtimeString);
-}
-
-bool Inspector::InspectTask() {
-  // keep the task quiet while we're looking at it
-  task_suspend(remote_task_);
-  DEBUGLOG(stderr, "Suspended Remote task\n");
-
-  NSString *minidumpDir;
-
-  const char *minidumpDirectory =
-    config_params_.GetValueForKey(BREAKPAD_DUMP_DIRECTORY);
-
-  SetCrashTimeParameters();
-  // If the client app has not specified a minidump directory,
-  // use a default of Library/<kDefaultLibrarySubdirectory>/<Product Name>
-  if (0 == strlen(minidumpDirectory)) {
-    NSArray *libraryDirectories =
-      NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,
-                                          NSUserDomainMask,
-                                          YES);
-
-    NSString *applicationSupportDirectory =
-        [libraryDirectories objectAtIndex:0];
-    NSString *library_subdirectory = [NSString 
-        stringWithUTF8String:kDefaultLibrarySubdirectory];
-    NSString *breakpad_product = [NSString 
-        stringWithUTF8String:config_params_.GetValueForKey(BREAKPAD_PRODUCT)];
-        
-    NSArray *path_components = [NSArray
-        arrayWithObjects:applicationSupportDirectory,
-                         library_subdirectory,
-                         breakpad_product,
-                         nil];
-
-    minidumpDir = [NSString pathWithComponents:path_components];
-  } else {
-    minidumpDir = [[NSString stringWithUTF8String:minidumpDirectory]
-                    stringByExpandingTildeInPath];
-  }
-  DEBUGLOG(stderr, 
-           "Writing minidump to directory (%s)\n",
-           [minidumpDir UTF8String]);
-
-  MinidumpLocation minidumpLocation(minidumpDir);
-
-  // Obscure bug alert:
-  // Don't use [NSString stringWithFormat] to build up the path here since it
-  // assumes system encoding and in RTL locales will prepend an LTR override
-  // character for paths beginning with '/' which fileSystemRepresentation does
-  // not remove. Filed as rdar://6889706 .
-  NSString *path_ns = [NSString
-      stringWithUTF8String:minidumpLocation.GetPath()];
-  NSString *pathid_ns = [NSString
-      stringWithUTF8String:minidumpLocation.GetID()];
-  NSString *minidumpPath = [path_ns stringByAppendingPathComponent:pathid_ns];
-  minidumpPath = [minidumpPath 
-      stringByAppendingPathExtension:@"dmp"];
-  
-  DEBUGLOG(stderr, 
-           "minidump path (%s)\n",
-           [minidumpPath UTF8String]);
-
-
-  config_file_.WriteFile( &config_params_,
-                          minidumpLocation.GetPath(),
-                          minidumpLocation.GetID());
-
-
-  MinidumpGenerator generator(remote_task_, handler_thread_);
-
-  if (exception_type_ && exception_code_) {
-    generator.SetExceptionInformation(exception_type_,
-                                      exception_code_,
-                                      exception_subcode_,
-                                      crashing_thread_);
-  }
-
-
-  bool result = generator.Write([minidumpPath fileSystemRepresentation]);
-
-  if (result) {
-    DEBUGLOG(stderr, "Wrote minidump - OK\n");
-  } else {
-    DEBUGLOG(stderr, "Error writing minidump - errno=%s\n",  strerror(errno));
-  }
-
-  // let the task continue
-  task_resume(remote_task_);
-  DEBUGLOG(stderr, "Resumed remote task\n");
-
-  return result;
-}
-
-//=============================================================================
-// The crashed task needs to be told that the inspection has finished.
-// It will wait on a mach port (with timeout) until we send acknowledgement.
-kern_return_t Inspector::SendAcknowledgement() {
-  if (ack_port_ != MACH_PORT_DEAD) {
-    MachPortSender sender(ack_port_);
-    MachSendMessage ack_message(kMsgType_InspectorAcknowledgement);
-
-    DEBUGLOG(stderr, "Inspector: trying to send acknowledgement to port %d\n",
-      ack_port_);
-
-    kern_return_t result = sender.SendMessage(ack_message, 2000);
-
-#if VERBOSE
-    PRINT_MACH_RESULT(result, "Inspector: sent acknowledgement");
-#endif
-
-    return result;
-  }
-
-  DEBUGLOG(stderr, "Inspector: port translation failure!\n");
-  return KERN_INVALID_NAME;
-}
-
-//=============================================================================
-void Inspector::LaunchReporter(const char *inConfigFilePath) {
-  // Extract the path to the reporter executable.
-  const char *reporterExecutablePath =
-          config_params_.GetValueForKey(BREAKPAD_REPORTER_EXE_LOCATION);
-  DEBUGLOG(stderr, "reporter path = %s\n", reporterExecutablePath);
-
-  // Setup and launch the crash dump sender.
-  const char *argv[3];
-  argv[0] = reporterExecutablePath;
-  argv[1] = inConfigFilePath;
-  argv[2] = NULL;
-
-  // Launch the reporter
-  pid_t pid = fork();
-
-  // If we're in the child, load in our new executable and run.
-  // The parent will not wait for the child to complete.
-  if (pid == 0) {
-    execv(argv[0], (char * const *)argv);
-    config_file_.Unlink();  // launch failed - get rid of config file
-    DEBUGLOG(stderr, "Inspector: unable to launch reporter app\n");
-    _exit(1);
-  }
-
-  // Wait until the Reporter child process exits.
-  //
-
-  // We'll use a timeout of one minute.
-  int timeoutCount = 60;   // 60 seconds
-
-  while (timeoutCount-- > 0) {
-    int status;
-    pid_t result = waitpid(pid, &status, WNOHANG);
-
-    if (result == 0) {
-      // The child has not yet finished.
-      sleep(1);
-    } else if (result == -1) {
-      DEBUGLOG(stderr, "Inspector: waitpid error (%d) waiting for reporter app\n",
-        errno);
-      break;
-    } else {
-      // child has finished
-      break;
-    }
-  }
-}
-
-} // namespace google_breakpad
-
deleted file mode 100644
--- a/toolkit/crashreporter/google-breakpad/src/client/mac/crash_generation/InspectorMain.mm
+++ /dev/null
@@ -1,65 +0,0 @@
-// Copyright (c) 2007, Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
-// Main driver for Inspector
-
-#import "client/mac/crash_generation/Inspector.h"
-#import <Cocoa/Cocoa.h>
-
-namespace google_breakpad {
-
-//=============================================================================
-extern "C" {
-
-int main(int argc, char *const argv[]) {
-#if DEBUG
-  // Since we're launched on-demand, this is necessary to see debugging
-  // output in the console window.
-  freopen("/dev/console", "w", stdout);
-  freopen("/dev/console", "w", stderr);
-#endif
-
-  NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
-
-  if (argc != 2) {
-    exit(0);
-  }
-  // Our first command-line argument contains the name of the service
-  // that we're providing.
-  google_breakpad::Inspector inspector;
-  inspector.Inspect(argv[1]);
-
-  [pool release];
-
-  return 0;
-}
-
-} // extern "C"
-
-} // namespace google_breakpad
deleted file mode 100644
index f45a58d71d01b554fbf4db03f4805f2123797e18..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
--- a/toolkit/crashreporter/google-breakpad/src/client/mac/handler/exception_handler.cc
+++ b/toolkit/crashreporter/google-breakpad/src/client/mac/handler/exception_handler.cc
@@ -291,25 +291,23 @@ bool ExceptionHandler::WriteMinidump(con
                                      MinidumpCallback callback,
                                      void *callback_context) {
   ExceptionHandler handler(dump_path, NULL, callback, callback_context, false);
   return handler.WriteMinidump();
 }
 
 bool ExceptionHandler::WriteMinidumpWithException(int exception_type,
                                                   int exception_code,
-                                                  int exception_subcode,
                                                   mach_port_t thread_name) {
   bool result = false;
 
   if (directCallback_) {
     if (directCallback_(callback_context_,
                         exception_type,
                         exception_code,
-                        exception_subcode,
                         thread_name) ) {
       if (exception_type && exception_code)
         _exit(exception_type);
     }
   } else {
     string minidump_id;
 
     // Putting the MinidumpGenerator in its own context will ensure that the
@@ -317,18 +315,17 @@ bool ExceptionHandler::WriteMinidumpWith
     if (!dump_path_.empty()) {
       MinidumpGenerator md;
       if (exception_type && exception_code) {
         // If this is a real exception, give the filter (if any) a chance to
         // decided if this should be sent
         if (filter_ && !filter_(callback_context_))
           return false;
 
-        md.SetExceptionInformation(exception_type, exception_code,
-                                   exception_subcode, thread_name);
+        md.SetExceptionInformation(exception_type, exception_code, thread_name);
       }
 
       result = md.Write(next_minidump_path_c_);
     }
 
     // Call user specified callback (if any)
     if (callback_) {
       // If the user callback returned true and we're handling an exception
@@ -474,55 +471,52 @@ void *ExceptionHandler::WaitForMessage(v
 
 #if USE_PROTECTED_ALLOCATIONS
         if(gBreakpadAllocator)
           gBreakpadAllocator->Unprotect();
 #endif
 
         // Write out the dump and save the result for later retrieval
         self->last_minidump_write_result_ =
-          self->WriteMinidumpWithException(0, 0, 0, 0);
+          self->WriteMinidumpWithException(0, 0, 0);
 
         self->UninstallHandler(false);
 
 #if USE_PROTECTED_ALLOCATIONS
         if(gBreakpadAllocator)
           gBreakpadAllocator->Protect();
 #endif
 
         self->ResumeThreads();
 
         if (self->use_minidump_write_mutex_)
           pthread_mutex_unlock(&self->minidump_write_mutex_);
       } else {
+
         // When forking a child process with the exception handler installed,
         // if the child crashes, it will send the exception back to the parent
         // process.  The check for task == self_task() ensures that only
         // exceptions that occur in the parent process are caught and
         // processed.  If the exception was not caused by this task, we
         // still need to call into the exception server and have it return
         // KERN_FAILURE (see breakpad_exception_raise) in order for the kernel
         // to move onto the host exception handler for the child task
         if (receive.task.name == mach_task_self()) {
           self->SuspendThreads();
 
 #if USE_PROTECTED_ALLOCATIONS
         if(gBreakpadAllocator)
           gBreakpadAllocator->Unprotect();
 #endif
 
-        int subcode = 0;
-        if (receive.exception == EXC_BAD_ACCESS && receive.code_count > 1)
-          subcode = receive.code[1];
+          // Generate the minidump with the exception data.
+          self->WriteMinidumpWithException(receive.exception, receive.code[0],
+                                           receive.thread.name);
 
-        // Generate the minidump with the exception data.
-        self->WriteMinidumpWithException(receive.exception, receive.code[0],
-                                         subcode, receive.thread.name);
-
-        self->UninstallHandler(true);
+          self->UninstallHandler(true);
 
 #if USE_PROTECTED_ALLOCATIONS
         if(gBreakpadAllocator)
           gBreakpadAllocator->Protect();
 #endif
         }
         // Pass along the exception to the server, which will setup the
         // message and call breakpad_exception_raise() and put the return
--- a/toolkit/crashreporter/google-breakpad/src/client/mac/handler/exception_handler.h
+++ b/toolkit/crashreporter/google-breakpad/src/client/mac/handler/exception_handler.h
@@ -72,17 +72,16 @@ class ExceptionHandler {
                                    void *context, bool succeeded);
 
   // A callback function which will be called directly if an exception occurs.
   // This bypasses the minidump file writing and simply gives the client
   // the exception information.
   typedef bool (*DirectCallback)( void *context,
                                   int exception_type,
                                   int exception_code,
-                                  int exception_subcode,
                                   mach_port_t thread_name);
 
   // Creates a new ExceptionHandler instance to handle writing minidumps.
   // Minidump files will be written to dump_path, and the optional callback
   // is called after writing the dump file, as described above.
   // If install_handler is true, then a minidump will be written whenever
   // an unhandled exception occurs.  If it is false, minidumps will only
   // be written when WriteMinidump is called.
@@ -131,17 +130,17 @@ class ExceptionHandler {
   bool Teardown();
 
   // Send an "empty" mach message to the exception handler.  Return true on
   // success, false otherwise
   bool SendEmptyMachMessage();
 
   // All minidump writing goes through this one routine
   bool WriteMinidumpWithException(int exception_type, int exception_code,
-                                  int exception_subcode, mach_port_t thread_name);
+                                  mach_port_t thread_name);
 
   // When installed, this static function will be call from a newly created
   // pthread with |this| as the argument
   static void *WaitForMessage(void *exception_handler_class);
 
   // disallow copy ctor and operator=
   explicit ExceptionHandler(const ExceptionHandler &);
   void operator=(const ExceptionHandler &);
--- a/toolkit/crashreporter/google-breakpad/src/client/mac/handler/exception_handler_test.cc
+++ b/toolkit/crashreporter/google-breakpad/src/client/mac/handler/exception_handler_test.cc
@@ -23,17 +23,25 @@
 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 /*
-g++ -framework CoreFoundation -I../../.. ../../minidump_file_writer.cc ../../../common/convert_UTF.c ../../../common/string_conversion.cc ../../../common/mac/string_utilities.cc exception_handler.cc minidump_generator.cc exception_handler_test.cc -o exception_handler_test -mmacosx-version-min=10.4 ../../../common/mac/file_id.cc  dynamic_images.cc ../../../common/mac/macho_id.cc  ../../../common/mac/macho_walker.cc  -lcrypto ../../../common/mac/macho_utilities.cc 
+g++ -framework CoreFoundation -I../../.. \
+	../../minidump_file_writer.cc \
+	../../../common/convert_UTF.c \
+	../../../common/string_conversion.cc \
+	../../../common/mac/string_utilities.cc \
+	exception_handler.cc \
+	minidump_generator.cc \
+	exception_handler_test.cc \
+	-o exception_handler_test
 */
 
 #include <pthread.h>
 #include <pwd.h>
 #include <unistd.h>
 
 #include <CoreFoundation/CoreFoundation.h>
 
@@ -42,21 +50,20 @@ g++ -framework CoreFoundation -I../../..
 
 using std::string;
 using google_breakpad::ExceptionHandler;
 
 static void *SleepyFunction(void *) {
   while (1) {
     sleep(10000);
   }
-  return NULL;
 }
 
 static void Crasher() {
-  int *a = (int*)0x42;
+  int *a = NULL;
 
 	fprintf(stdout, "Going to crash...\n");
   fprintf(stdout, "A = %d", *a);
 }
 
 static void SoonToCrash() {
   Crasher();
 }
@@ -65,35 +72,36 @@ bool MDCallback(const char *dump_dir, co
                 void *context, bool success) {
   string path(dump_dir);
   string dest(dump_dir);
   path.append(file_name);
   path.append(".dmp");
 
   fprintf(stdout, "Minidump: %s\n", path.c_str());
   // Indicate that we've handled the callback
-  exit(0);
+  return true;
 }
 
 int main(int argc, char * const argv[]) {
   char buffer[PATH_MAX];
+  struct passwd *user = getpwuid(getuid());
 
   // Home dir
-  snprintf(buffer, sizeof(buffer), "/tmp/");
+  snprintf(buffer, sizeof(buffer), "/Users/%s/Desktop/", user->pw_name);
 
   string path(buffer);
   ExceptionHandler eh(path, NULL, MDCallback, NULL, true);
   pthread_t t;
 
   if (pthread_create(&t, NULL, SleepyFunction, NULL) == 0) {
     pthread_detach(t);
   } else {
     perror("pthread_create");
   }
 
-//   // Dump a test
-//   eh.WriteMinidump();
+  // Dump a test
+  eh.WriteMinidump();
 
 	// Test the handler
   SoonToCrash();
 
   return 0;
 }
--- a/toolkit/crashreporter/google-breakpad/src/client/mac/handler/minidump_generator.cc
+++ b/toolkit/crashreporter/google-breakpad/src/client/mac/handler/minidump_generator.cc
@@ -49,31 +49,29 @@ using MacStringUtils::ConvertToString;
 using MacStringUtils::IntegerValueAtIndex;
 
 namespace google_breakpad {
 
 // constructor when generating from within the crashed process
 MinidumpGenerator::MinidumpGenerator()
     : exception_type_(0),
       exception_code_(0),
-      exception_subcode_(0),
       exception_thread_(0),
       crashing_task_(mach_task_self()),
       handler_thread_(mach_thread_self()),
       dynamic_images_(NULL) {
   GatherSystemInformation();
 }
 
 // constructor when generating from a different process than the
 // crashed process
 MinidumpGenerator::MinidumpGenerator(mach_port_t crashing_task,
                                      mach_port_t handler_thread)
     : exception_type_(0),
       exception_code_(0),
-      exception_subcode_(0),
       exception_thread_(0),
       crashing_task_(crashing_task),
       handler_thread_(handler_thread) {
   if (crashing_task != mach_task_self()) {
     dynamic_images_ = new DynamicImages(crashing_task_);
   } else {
     dynamic_images_ = NULL;
   }
@@ -169,17 +167,17 @@ bool MinidumpGenerator::Write(const char
     &MinidumpGenerator::WriteModuleListStream,
     &MinidumpGenerator::WriteMiscInfoStream,
     &MinidumpGenerator::WriteBreakpadInfoStream,
     // Exception stream needs to be the last entry in this array as it may
     // be omitted in the case where the minidump is written without an
     // exception.
     &MinidumpGenerator::WriteExceptionStream,
   };
-  bool result = false;
+  bool result = true;
 
   // If opening was successful, create the header, directory, and call each
   // writer.  The destructor for the TypedMDRVAs will cause the data to be
   // flushed.  The destructor for the MinidumpFileWriter will close the file.
   if (writer_.Open(path)) {
     TypedMDRVA<MDRawHeader> header(&writer_);
     TypedMDRVA<MDRawDirectory> dir(&writer_);
 
@@ -200,17 +198,16 @@ bool MinidumpGenerator::Write(const char
     MDRawHeader *header_ptr = header.get();
     header_ptr->signature = MD_HEADER_SIGNATURE;
     header_ptr->version = MD_HEADER_VERSION;
     time(reinterpret_cast<time_t *>(&(header_ptr->time_date_stamp)));
     header_ptr->stream_count = writer_count;
     header_ptr->stream_directory_rva = dir.position();
 
     MDRawDirectory local_dir;
-    result = true;
     for (int i = 0; (result) && (i < writer_count); ++i) {
       result = (this->*writers[i])(&local_dir);
 
       if (result)
         dir.CopyIndex(i, &local_dir);
     }
   }
   return result;
@@ -416,50 +413,51 @@ bool MinidumpGenerator::WriteContext(bre
 #elif TARGET_CPU_X86 || TARGET_CPU_X86_64
 
 bool MinidumpGenerator::WriteStack(breakpad_thread_state_data_t state,
                                    MDMemoryDescriptor *stack_location) {
   breakpad_thread_state_t *machine_state =
     reinterpret_cast<breakpad_thread_state_t *>(state);
 
 #if TARGET_CPU_X86_64
-  mach_vm_address_t start_addr = REGISTER_FROM_THREADSTATE(machine_state, rsp);
+  mach_vm_address_t start_addr = machine_state->__rsp;
 #else
-  mach_vm_address_t start_addr = REGISTER_FROM_THREADSTATE(machine_state, esp);
+  mach_vm_address_t start_addr = machine_state->esp;
 #endif
   return WriteStackFromStartAddress(start_addr, stack_location);
 }
 
 u_int64_t
 MinidumpGenerator::CurrentPCForStack(breakpad_thread_state_data_t state) {
   breakpad_thread_state_t *machine_state =
     reinterpret_cast<breakpad_thread_state_t *>(state);
 
 #if TARGET_CPU_X86_64
-  return REGISTER_FROM_THREADSTATE(machine_state, rip);
+  return machine_state->__rip;
 #else
-  return REGISTER_FROM_THREADSTATE(machine_state, eip);
+  return machine_state->eip;
 #endif
 }
 
 bool MinidumpGenerator::WriteContext(breakpad_thread_state_data_t state,
                                      MDLocationDescriptor *register_location) {
   TypedMDRVA<MinidumpContext> context(&writer_);
   breakpad_thread_state_t *machine_state =
     reinterpret_cast<breakpad_thread_state_t *>(state);
 
   if (!context.Allocate())
     return false;
 
   *register_location = context.location();
   MinidumpContext *context_ptr = context.get();
 
-#define AddReg(a) context_ptr->a = REGISTER_FROM_THREADSTATE(machine_state, a)
 #if TARGET_CPU_X86
   context_ptr->context_flags = MD_CONTEXT_X86;
+
+#define AddReg(a) context_ptr->a = machine_state->a
   AddReg(eax);
   AddReg(ebx);
   AddReg(ecx);
   AddReg(edx);
   AddReg(esi);
   AddReg(edi);
   AddReg(ebp);
   AddReg(esp);
@@ -469,16 +467,18 @@ bool MinidumpGenerator::WriteContext(bre
   AddReg(ss);
   AddReg(es);
   AddReg(fs);
   AddReg(gs);
   AddReg(eflags);
 
   AddReg(eip);
 #else
+
+#define AddReg(a) context_ptr->a = machine_state->__ ## a
   context_ptr->context_flags = MD_CONTEXT_AMD64;
   AddReg(rax);
   AddReg(rbx);
   AddReg(rcx);
   AddReg(rdx);
   AddReg(rdi);
   AddReg(rsi);
   AddReg(rbp);
@@ -496,17 +496,16 @@ bool MinidumpGenerator::WriteContext(bre
   // not used in the flags register.  Since the minidump format
   // specifies 32 bits for the flags register, we can truncate safely
   // with no loss.
   context_ptr->eflags = machine_state->__rflags;
   AddReg(cs);
   AddReg(fs);
   AddReg(gs);
 #endif
-#undef AddReg(a)
 
   return true;
 }
 #endif
 
 bool MinidumpGenerator::WriteThreadStream(mach_port_t thread_id,
                                           MDRawThread *thread) {
   breakpad_thread_state_data_t state;
@@ -591,20 +590,17 @@ MinidumpGenerator::WriteExceptionStream(
                        BREAKPAD_MACHINE_THREAD_STATE,
                        state,
                        &stateCount) != KERN_SUCCESS)
     return false;
 
   if (!WriteContext(state, &exception_ptr->thread_context))
     return false;
 
-  if (exception_type_ == EXC_BAD_ACCESS)
-    exception_ptr->exception_record.exception_address = exception_subcode_;
-  else
-    exception_ptr->exception_record.exception_address = CurrentPCForStack(state);
+  exception_ptr->exception_record.exception_address = CurrentPCForStack(state);
 
   return true;
 }
 
 bool MinidumpGenerator::WriteSystemInfoStream(
     MDRawDirectory *system_info_stream) {
   TypedMDRVA<MDRawSystemInfo> info(&writer_);
 
--- a/toolkit/crashreporter/google-breakpad/src/client/mac/handler/minidump_generator.h
+++ b/toolkit/crashreporter/google-breakpad/src/client/mac/handler/minidump_generator.h
@@ -61,28 +61,16 @@ typedef MDRawContextX86 MinidumpContext;
 #elif TARGET_CPU_PPC64
 typedef ppc_thread_state64_t breakpad_thread_state_t;
 typedef MDRawContextPPC64 MinidumpContext;
 #elif TARGET_CPU_PPC
 typedef ppc_thread_state_t breakpad_thread_state_t;
 typedef MDRawContextPPC MinidumpContext;
 #endif
 
-// Use the REGISTER_FROM_THREADSTATE to access a register name from the
-// breakpad_thread_state_t structure.
-#if __DARWIN_UNIX03 || !TARGET_CPU_X86 || TARGET_CPU_X86_64
-// In The 10.5 SDK Headers Apple prepended __ to the variable names in the
-// i386_thread_state_t structure.  There's no good way to tell what version of
-// the SDK we're compiling against so we just toggle on the same preprocessor
-// symbol Apple's headers use.
-#define REGISTER_FROM_THREADSTATE(a, b) ((a)->__ ## b)
-#else
-#define REGISTER_FROM_THREADSTATE(a, b) (a->b)
-#endif
-
 // Creates a minidump file of the current process.  If there is exception data,
 // use SetExceptionInformation() to add this to the minidump.  The minidump
 // file is generated by the Write() function.
 // Usage:
 // MinidumpGenerator minidump();
 // minidump.Write("/tmp/minidump");
 //
 class MinidumpGenerator {
@@ -97,21 +85,19 @@ class MinidumpGenerator {
   static string UniqueNameInDirectory(const string &dir, string *unique_name);
 
   // Write out the minidump into |path|
   // All of the components of |path| must exist and be writable
   // Return true if successful, false otherwise
   bool Write(const char *path);
 
   // Specify some exception information, if applicable
-  void SetExceptionInformation(int type, int code, int subcode,
-                               mach_port_t thread_name) {
+  void SetExceptionInformation(int type, int code, mach_port_t thread_name) {
     exception_type_ = type;
     exception_code_ = code;
-    exception_subcode_ = subcode;
     exception_thread_ = thread_name;
   }
 
   // Gather system information.  This should be call at least once before using
   // the MinidumpGenerator class.
   static void GatherSystemInformation();
 
  private:
@@ -147,17 +133,16 @@ class MinidumpGenerator {
   void operator=(const MinidumpGenerator &);
 
   // Use this writer to put the data to disk
   MinidumpFileWriter writer_;
 
   // Exception information
   int exception_type_;
   int exception_code_;
-  int exception_subcode_;
   mach_port_t exception_thread_;
   mach_port_t crashing_task_;
   mach_port_t handler_thread_;
   
   // System information
   static char build_string_[16];
   static int os_major_version_;
   static int os_minor_version_;
--- a/toolkit/crashreporter/google-breakpad/src/client/mac/handler/minidump_generator_test.cc
+++ b/toolkit/crashreporter/google-breakpad/src/client/mac/handler/minidump_generator_test.cc
@@ -40,23 +40,24 @@
 using std::string;
 using google_breakpad::MinidumpGenerator;
 
 static bool doneWritingReport = false;
 
 static void *Reporter(void *) {
   char buffer[PATH_MAX];
   MinidumpGenerator md;
+  struct passwd *user = getpwuid(getuid());
 
   // Write it to the desktop
   snprintf(buffer,
            sizeof(buffer),
-           "/tmp/test.dmp");
-
-
+           "/Users/%s/Desktop/test.dmp",
+           user->pw_name);
+  
   fprintf(stdout, "Writing %s\n", buffer);
   unlink(buffer);
   md.Write(buffer);
   doneWritingReport = true;
 
   return NULL;
 }
 
--- a/toolkit/crashreporter/google-breakpad/src/client/mac/handler/testcases/testdata/dump_syms_i386_breakpad.sym
+++ b/toolkit/crashreporter/google-breakpad/src/client/mac/handler/testcases/testdata/dump_syms_i386_breakpad.sym
@@ -75,49 +75,49 @@ FILE 73 /Developer/SDKs/MacOSX10.4u.sdk/
 FILE 74 ../../../common/mac/dwarf/dwarf2reader.h
 FILE 75 /Developer/SDKs/MacOSX10.4u.sdk/usr/include/c++/4.0.0/bits/stl_stack.h
 FILE 76 /Developer/SDKs/MacOSX10.4u.sdk/usr/include/c++/4.0.0/bits/deque.tcc
 FILE 77 /Developer/SDKs/MacOSX10.4u.sdk/usr/include/c++/4.0.0/bits/list.tcc
 FILE 78 /Developer/SDKs/MacOSX10.4u.sdk/usr/include/c++/4.0.0/bits/vector.tcc
 FILE 79 /Developer/SDKs/MacOSX10.4u.sdk/usr/include/c++/4.0.0/bits/stl_uninitialized.h
 FILE 80 /var/tmp/gcc/gcc-5484~1/src/gcc/libgcc2.c
 FUNC 162a 28 0 _OSSwapInt16
-162a 10 44 55
-163a 16 46 55
-1650 2 47 55
+162a 10 44 1
+163a 16 46 1
+1650 2 47 1
 FUNC 1652 1c 0 _OSSwapInt32
-1652 f 53 55
-1661 8 55 55
-1669 3 56 55
-166c 2 57 55
+1652 f 53 1
+1661 8 55 1
+1669 3 56 1
+166c 2 57 1
 FUNC 166e 2b 0 _OSSwapInt64
-166e 12 64 55
-1680 11 69 55
-1691 6 70 55
-1697 2 71 55
-1699 1 71 55
+166e 12 64 1
+1680 11 69 1
+1691 6 70 1
+1697 2 71 1
+1699 1 71 1
 FUNC 169a 1e 0 NXSwapShort
-169a 10 43 56
-16aa c 45 56
-16b6 2 46 56
+169a 10 43 2
+16aa c 45 2
+16b6 2 46 2
 FUNC 16b8 19 0 NXSwapInt
-16b8 f 52 56
-16c7 8 54 56
-16cf 2 55 56
-16d1 1 55 56
+16b8 f 52 2
+16c7 8 54 2
+16cf 2 55 2
+16d1 1 55 2
 FUNC 16d2 19 0 NXSwapLong
-16d2 f 61 56
-16e1 8 63 56
-16e9 2 64 56
-16eb 1 64 56
+16d2 f 61 2
+16e1 8 63 2
+16e9 2 64 2
+16eb 1 64 2
 FUNC 16ec 1f 0 NXSwapLongLong
-16ec 12 70 56
-16fe b 72 56
-1709 2 73 56
-170b 1 73 56
+16ec 12 70 2
+16fe b 72 2
+1709 2 73 2
+170b 1 73 2
 FUNC 170c 181 0 -[DumpSymbols convertCPlusPlusSymbols:]
 170c 14 128 3
 1720 54 130 3
 1774 f 132 3
 1783 7 133 3
 178a 1a 136 3
 17a4 5 138 3
 17a9 1a 139 3
@@ -144,2201 +144,2237 @@ 19d0 1e 171 3
 19ee 11 162 3
 19ff 7 181 3
 1a06 6 182 3
 1a0c 5 184 3
 1a11 15 185 3
 1a26 6 18 4
 1a2c 6 19 4
 1a32 6 20 4
-1a38 6 185 3
-1a3e 28 186 3
-1a66 21 187 3
-1a87 1a 188 3
-1aa1 a 190 3
-1aab c 194 3
-1ab7 43 198 3
-1afa 21 199 3
-1b1b 20 202 3
-1b3b 2e 203 3
-1b69 1e 194 3
-1b87 c 184 3
-1b93 17 207 3
-1baa 7 208 3
-1bb1 1 208 3
+1a38 6 185 4
+1a3e 28 186 4
+1a66 21 187 4
+1a87 1a 188 4
+1aa1 a 190 4
+1aab c 194 4
+1ab7 43 198 4
+1afa 21 199 4
+1b1b 20 202 4
+1b3b 2e 203 4
+1b69 1e 194 4
+1b87 c 184 4
+1b93 17 207 4
+1baa 7 208 4
+1bb1 1 208 4
 FUNC 1bb2 4a2 0 -[DumpSymbols addFunction:line:address:section:]
-1bb2 21 211 3
-1bd3 2f 212 3
-1c02 e 214 3
-1c10 4 219 3
-1c14 2a 221 3
-1c3e 22 223 3
-1c60 6 224 3
-1c66 2a 225 3
-1c90 4 226 3
-1c94 2e 230 3
-1cc2 2e 233 3
-1cf0 2e 236 3
-1d1e a 239 3
-1d28 2b 253 3
-1d53 e 254 3
-1d61 3c 255 3
+1bb2 21 211 4
+1bd3 2f 212 4
+1c02 e 214 4
+1c10 4 219 4
+1c14 2a 221 4
+1c3e 22 223 4
+1c60 6 224 4
+1c66 2a 225 4
+1c90 4 226 4
+1c94 2e 230 4
+1cc2 2e 233 4
+1cf0 2e 236 4
+1d1e a 239 4
+1d28 2b 253 4
+1d53 e 254 4
+1d61 3c 255 4
 1d9d 22 32 4
-1dbf 3 256 3
-1dc2 6 259 3
-1dc8 a 260 3
-1dd2 3c 261 3
-1e0e 25 262 3
-1e33 2a 263 3
-1e5d 22 265 3
-1e7f 26 270 3
-1ea5 6 272 3
-1eab 37 273 3
-1ee2 2a 274 3
-1f0c 17 275 3
-1f23 43 278 3
-1f66 2e 279 3
-1f94 23 282 3
-1fb7 43 285 3
-1ffa 52 287 3
-204c 8 289 3
+1dbf 3 256 4
+1dc2 6 259 4
+1dc8 a 260 4
+1dd2 3c 261 4
+1e0e 25 262 4
+1e33 2a 263 4
+1e5d 22 265 4
+1e7f 26 270 4
+1ea5 6 272 4
+1eab 37 273 4
+1ee2 2a 274 4
+1f0c 17 275 4
+1f23 43 278 4
+1f66 2e 279 4
+1f94 23 282 4
+1fb7 43 285 4
+1ffa 52 287 4
+204c 8 289 4
 FUNC 2054 5a4 0 -[DumpSymbols processSymbolItem:stringTable:]
-2054 18 292 3
-206c 8 293 3
-2074 4 294 3
-2078 16 297 3
-208e c 298 3
-209a f 300 3
-20a9 b 301 3
-20b4 16 303 3
-20ca 4d 309 3
-2117 38 311 3
-214f 30 315 3
-217f 60 317 3
-21df d 322 3
-21ec 2b 325 3
-2217 3a 327 3
-2251 f 332 3
-2260 2d 333 3
-228d 1a 334 3
-22a7 32 335 3
-22d9 20 342 3
-22f9 c 343 3
-2305 24 348 3
-2329 a 349 3
-2333 3c 350 3
-236f 2a 352 3
-2399 1c 353 3
-23b5 9 354 3
-23be f 356 3
-23cd 2d 357 3
-23fa 2f 358 3
-2429 20 360 3
-2449 c 361 3
-2455 7 363 3
-245c 21 365 3
-247d 4a 368 3
-24c7 9 370 3
-24d0 1a 371 3
-24ea 4b 372 3
-2535 4 373 3
-2539 5 371 3
-253e 29 374 3
-2567 2d 376 3
-2594 4b 378 3
-25df 4 379 3
-25e3 a 382 3
-25ed b 383 3
+2054 18 292 4
+206c 8 293 4
+2074 4 294 4
+2078 16 297 4
+208e c 298 4
+209a f 300 4
+20a9 b 301 4
+20b4 16 303 4
+20ca 4d 309 4
+2117 38 311 4
+214f 30 315 4
+217f 60 317 4
+21df d 322 4
+21ec 2b 325 4
+2217 3a 327 4
+2251 f 332 4
+2260 2d 333 4
+228d 1a 334 4
+22a7 32 335 4
+22d9 20 342 4
+22f9 c 343 4
+2305 24 348 4
+2329 a 349 4
+2333 3c 350 4
+236f 2a 352 4
+2399 1c 353 4
+23b5 9 354 4
+23be f 356 4
+23cd 2d 357 4
+23fa 2f 358 4
+2429 20 360 4
+2449 c 361 4
+2455 7 363 4
+245c 21 365 4
+247d 4a 368 4
+24c7 9 370 4
+24d0 1a 371 4
+24ea 4b 372 4
+2535 4 373 4
+2539 5 371 4
+253e 29 374 4
+2567 2d 376 4
+2594 4b 378 4
+25df 4 379 4
+25e3 a 382 4
+25ed b 383 4
 FUNC 25f8 c9 0 -[DumpSymbols loadSymbolInfo:offset:]
-25f8 13 391 3
-260b 2b 392 3
-2636 2a 393 3
-2660 2d 395 3
-268d 2e 398 3
-26bb 6 399 3
-26c1 1 399 3
+25f8 13 391 4
+260b 2b 392 4
+2636 2a 393 4
+2660 2d 395 4
+268d 2e 398 4
+26bb 6 399 4
+26c1 1 399 4
 FUNC 26c2 2be 0 -[DumpSymbols loadSTABSSymbolInfo:offset:]
-26c2 16 537 3
-26d8 9 538 3
-26e1 10 539 3
-26f1 2e 540 3
-271f 9 542 3
-2728 22 543 3
-274a 4 544 3
-274e a 546 3
-2758 3c 547 3
-2794 c 549 3
-27a0 e 550 3
-27ae 6 551 3
-27b4 25 552 3
-27d9 25 553 3
-27fe 25 554 3
-2823 c 555 3
-282f c 556 3
-283b c 559 3
-2847 23 562 3
-286a a 563 3
-2874 a 564 3
-287e 2e 565 3
-28ac 39 566 3
-28e5 2e 570 3
-2913 4 571 3
-2917 17 559 3
-292e 25 575 3
-2953 9 576 3
-295c 17 549 3
-2973 4 579 3
-2977 9 580 3
+26c2 16 537 4
+26d8 9 538 4
+26e1 10 539 4
+26f1 2e 540 4
+271f 9 542 4
+2728 22 543 4
+274a 4 544 4
+274e a 546 4
+2758 3c 547 4
+2794 c 549 4
+27a0 e 550 4
+27ae 6 551 4
+27b4 25 552 4
+27d9 25 553 4
+27fe 25 554 4
+2823 c 555 4
+282f c 556 4
+283b c 559 4
+2847 23 562 4
+286a a 563 4
+2874 a 564 4
+287e 2e 565 4
+28ac 39 566 4
+28e5 2e 570 4
+2913 4 571 4
+2917 17 559 4
+292e 25 575 4
+2953 9 576 4
+295c 17 549 4
+2973 4 579 4
+2977 9 580 4
 FUNC 2980 28a 0 -[DumpSymbols loadSymbolInfo64:offset:]
-2980 16 583 3
-2996 9 585 3
-299f 10 586 3
-29af 2e 587 3
-29dd 9 589 3
-29e6 22 590 3
-2a08 4 591 3
-2a0c c 593 3
-2a18 e 594 3
-2a26 6 595 3
-2a2c 25 596 3
-2a51 25 597 3
-2a76 25 598 3
-2a9b 9 599 3
-2aa4 c 600 3
-2ab0 c 603 3
-2abc 17 604 3
-2ad3 23 609 3
-2af6 a 610 3
-2b00 a 611 3
-2b0a 2e 612 3
-2b38 37 613 3
-2b6f 2e 615 3
-2b9d 4 616 3
-2ba1 17 603 3
-2bb8 25 620 3
-2bdd 9 621 3
-2be6 17 593 3
-2bfd 4 624 3
-2c01 9 625 3
+2980 16 583 4
+2996 9 585 4
+299f 10 586 4
+29af 2e 587 4
+29dd 9 589 4
+29e6 22 590 4
+2a08 4 591 4
+2a0c c 593 4
+2a18 e 594 4
+2a26 6 595 4
+2a2c 25 596 4
+2a51 25 597 4
+2a76 25 598 4
+2a9b 9 599 4
+2aa4 c 600 4
+2ab0 c 603 4
+2abc 17 604 4
+2ad3 23 609 4
+2af6 a 610 4
+2b00 a 611 4
+2b0a 2e 612 4
+2b38 37 613 4
+2b6f 2e 615 4
+2b9d 4 616 4
+2ba1 17 603 4
+2bb8 25 620 4
+2bdd 9 621 4
+2be6 17 593 4
+2bfd 4 624 4
+2c01 9 625 4
 FUNC 2c0a 199 0 -[DumpSymbols loadSymbolInfoForArchitecture]
-2c0a 13 628 3
-2c1d 41 630 3
-2c5e 2b 631 3
-2c89 1a 632 3
-2ca3 40 634 3
-2ce3 40 635 3
-2d23 5f 637 3
-2d82 17 639 3
-2d99 4 640 3
-2d9d 6 641 3
-2da3 1 641 3
+2c0a 13 628 4
+2c1d 41 630 4
+2c5e 2b 631 4
+2c89 1a 632 4
+2ca3 40 634 4
+2ce3 40 635 4
+2d23 5f 637 4
+2d82 17 639 4
+2d99 4 640 4
+2d9d 6 641 4
+2da3 1 641 4
 FUNC 2da4 3e5 0 -[DumpSymbols loadHeader:offset:]
-2da4 18 728 3
-2dbc 9 729 3
-2dc5 10 730 3
-2dd5 2e 731 3
-2e03 9 733 3
-2e0c 2b 734 3
-2e37 1e 736 3
-2e55 c 738 3
-2e61 e 739 3
-2e6f 6 740 3
-2e75 50 742 3
-2ec5 2e 743 3
-2ef3 2e 744 3
-2f21 2e 745 3
-2f4f 20 746 3
-2f6f 1b7 755 3
-3126 9 757 3
-312f 25 761 3
-3154 9 762 3
-315d 17 738 3
-3174 a 765 3
-317e b 766 3
-3189 1 766 3
+2da4 18 728 4
+2dbc 9 729 4
+2dc5 10 730 4
+2dd5 2e 731 4
+2e03 9 733 4
+2e0c 2b 734 4
+2e37 1e 736 4
+2e55 c 738 4
+2e61 e 739 4
+2e6f 6 740 4
+2e75 50 742 4
+2ec5 2e 743 4
+2ef3 2e 744 4
+2f21 2e 745 4
+2f4f 20 746 4
+2f6f 1b7 755 4
+3126 9 757 4
+312f 25 761 4
+3154 9 762 4
+315d 17 738 4
+3174 a 765 4
+317e b 766 4
+3189 1 766 4
 FUNC 318a 41d 0 -[DumpSymbols loadHeader64:offset:]
-318a 18 769 3
-31a2 9 771 3
-31ab 10 772 3
-31bb 2e 773 3
-31e9 9 775 3
-31f2 c 777 3
-31fe 2b 778 3
-3229 e 779 3
-3237 6 780 3
-323d 50 781 3
-328d 49 782 3
-32d6 49 783 3
-331f 2e 784 3
-334d 9 785 3
-3356 29 786 3
-337f 1c5 794 3
-3544 9 795 3
-354d 25 799 3
-3572 9 800 3
-357b 17 777 3
-3592 a 803 3
-359c b 804 3
-35a7 1 804 3
+318a 18 769 4
+31a2 9 771 4
+31ab 10 772 4
+31bb 2e 773 4
+31e9 9 775 4
+31f2 c 777 4
+31fe 2b 778 4
+3229 e 779 4
+3237 6 780 4
+323d 50 781 4
+328d 49 782 4
+32d6 49 783 4
+331f 2e 784 4
+334d 9 785 4
+3356 29 786 4
+337f 1c5 794 4
+3544 9 795 4
+354d 25 799 4
+3572 9 800 4
+357b 17 777 4
+3592 a 803 4
+359c b 804 4
+35a7 1 804 4
 FUNC 35a8 52a 0 -[DumpSymbols loadModuleInfo]
-35a8 14 807 3
-35bc e 808 3
-35ca 41 810 3
-360b 1a 811 3
-3625 6 812 3
-362b 6 814 3
-3631 17 815 3
-3648 c 816 3
-3654 29 820 3
-367d 29 821 3
-36a6 29 822 3
-36cf 35 824 3
-3704 12 826 3
-3716 17 827 3
-372d c 828 3
-3739 3c 832 3
-3775 a 834 3
-377f 9 836 3
-3788 25 837 3
-37ad c 839 3
-37b9 54 840 3
-380d 57 841 3
-3864 57 842 3
-38bb 57 843 3
-3912 57 844 3
-3969 1c 846 3
-3985 4b 847 3
-39d0 49 849 3
-3a19 13 839 3
-3a2c 6 851 3
-3a32 3c 852 3
-3a6e 3a 854 3
-3aa8 17 857 3
-3abf c 858 3
-3acb 7 859 3
+35a8 14 807 4
+35bc e 808 4
+35ca 41 810 4
+360b 1a 811 4
+3625 6 812 4
+362b 6 814 4
+3631 17 815 4
+3648 c 816 4
+3654 29 820 4
+367d 29 821 4
+36a6 29 822 4
+36cf 35 824 4
+3704 12 826 4
+3716 17 827 4
+372d c 828 4
+3739 3c 832 4
+3775 a 834 4
+377f 9 836 4
+3788 25 837 4
+37ad c 839 4
+37b9 54 840 4
+380d 57 841 4
+3864 57 842 4
+38bb 57 843 4
+3912 57 844 4
+3969 1c 846 4
+3985 4b 847 4
+39d0 49 849 4
+3a19 13 839 4
+3a2c 6 851 4
+3a32 3c 852 4
+3a6e 3a 854 4
+3aa8 17 857 4
+3abf c 858 4
+3acb 7 859 4
 FUNC 3ad2 b6 0 WriteFormat
-3ad2 10 862 3
-3ae2 6 867 3
-3ae8 24 868 3
-3b0c 27 869 3
-3b33 40 870 3
-3b73 c 873 3
-3b7f 9 874 3
+3ad2 10 862 4
+3ae2 6 867 4
+3ae8 24 868 4
+3b0c 27 869 4
+3b33 40 870 4
+3b73 c 873 4
+3b7f 9 874 4
 FUNC 3b88 35 0 -[DumpSymbols availableArchitectures]
-3b88 13 1140 3
-3b9b 1c 1141 3
-3bb7 6 1142 3
-3bbd 1 1142 3
+3b88 13 1140 4
+3b9b 1c 1141 4
+3bb7 6 1142 4
+3bbd 1 1142 4
 FUNC 3bbe 1b4 0 -[DumpSymbols setArchitecture:]
-3bbe 13 1158 3
-3bd1 1a 1159 3
-3beb 4 1160 3
-3bef 2a 1162 3
-3c19 9 1163 3
-3c22 2a 1165 3
-3c4c 9 1166 3
-3c55 9 1167 3
-3c5e 2a 1169 3
-3c88 6 1170 3
-3c8e 2a 1172 3
-3cb8 6 1173 3
-3cbe 2a 1175 3
-3ce8 4 1176 3
-3cec 6 1179 3
-3cf2 2c 1180 3
-3d1e 9 1181 3
-3d27 1c 1183 3
-3d43 1f 1184 3
-3d62 a 1187 3
-3d6c 6 1188 3
+3bbe 13 1158 4
+3bd1 1a 1159 4
+3beb 4 1160 4
+3bef 2a 1162 4
+3c19 9 1163 4
+3c22 2a 1165 4
+3c4c 9 1166 4
+3c55 9 1167 4
+3c5e 2a 1169 4
+3c88 6 1170 4
+3c8e 2a 1172 4
+3cb8 6 1173 4
+3cbe 2a 1175 4
+3ce8 4 1176 4
+3cec 6 1179 4
+3cf2 2c 1180 4
+3d1e 9 1181 4
+3d27 1c 1183 4
+3d43 1f 1184 4
+3d62 a 1187 4
+3d6c 6 1188 4
 FUNC 3d72 14 0 -[DumpSymbols architecture]
-3d72 c 1191 3
-3d7e 6 1192 3
-3d84 2 1193 3
+3d72 c 1191 4
+3d7e 6 1192 4
+3d84 2 1193 4
 FUNC 3d86 e7 0 -[DumpSymbols writeSymbolFile:]
-3d86 13 1196 3
-3d99 1a 1197 3
-3db3 48 1200 3
-3dfb 9 1201 3
-3e04 1e 1203 3
-3e22 6 1205 3
-3e28 9 1206 3
-3e31 21 1208 3
-3e52 b 1210 3
-3e5d a 1212 3
-3e67 6 1213 3
-3e6d 1 1213 3
+3d86 13 1196 4
+3d99 1a 1197 4
+3db3 48 1200 4
+3dfb 9 1201 4
+3e04 1e 1203 4
+3e22 6 1205 4
+3e28 9 1206 4
+3e31 21 1208 4
+3e52 b 1210 4
+3e5d a 1212 4
+3e67 6 1213 4
+3e6d 1 1213 4
 FUNC 3e6e 65 0 -[MachSection initWithMachSection:andNumber:]
-3e6e 13 1219 3
-3e81 37 1220 3
-3eb8 9 1221 3
-3ec1 9 1222 3
-3eca 3 1225 3
-3ecd 6 1226 3
-3ed3 1 1226 3
+3e6e 13 1219 4
+3e81 37 1220 4
+3eb8 9 1221 4
+3ec1 9 1222 4
+3eca 3 1225 4
+3ecd 6 1226 4
+3ed3 1 1226 4
 FUNC 3ed4 14 0 -[MachSection sectionPointer]
-3ed4 c 1228 3
-3ee0 6 1229 3
-3ee6 2 1230 3
+3ed4 c 1228 4
+3ee0 6 1229 4
+3ee6 2 1230 4
 FUNC 3ee8 14 0 -[MachSection sectionNumber]
-3ee8 c 1232 3
-3ef4 6 1233 3
-3efa 2 1234 3
+3ee8 c 1232 4
+3ef4 6 1233 4
+3efa 2 1234 4
 FUNC 3efc 17c 0 -[DumpSymbols processDWARFSourceFileInfo:]
-3efc 14 459 3
-3f10 a 460 3
-3f1a 3c 461 3
-3f56 20 463 3
-3f76 5 464 3
-3f7b 3a 465 3
-3fb5 1d 466 3
-3fd2 3a 467 3
-400c 2a 468 3
-4036 3b 464 3
-4071 7 471 3
-FUNC 4078 1d7 0 DumpFunctionMap(std::map<unsigned long long, dwarf2reader::FunctionInfo*, std::less<unsigned long long>, std::allocator<std::pair<unsigned long long const, dwarf2reader::FunctionInfo*> > >)
-4078 15 82 3
-408d 13 83 3
-40a0 1e 85 3
-40be 42 89 3
-4100 20 90 3
-4120 2b 91 3
-414b 1a 92 3
-4165 23 93 3
-4188 46 96 3
-41ce 46 99 3
-4214 33 83 3
-4247 8 102 3
-424f 1 102 3
+3efc 14 459 4
+3f10 a 460 4
+3f1a 3c 461 4
+3f56 20 463 4
+3f76 5 464 4
+3f7b 3a 465 4
+3fb5 1d 466 4
+3fd2 3a 467 4
+400c 2a 468 4
+4036 3b 464 4
+4071 7 471 4
+FUNC 4078 1d7 0 DumpFunctionMap
+4078 15 82 4
+408d 13 83 4
+40a0 1e 85 4
+40be 42 89 4
+4100 20 90 4
+4120 2b 91 4
+414b 1a 92 4
+4165 23 93 4
+4188 46 96 4
+41ce 46 99 4
+4214 33 83 4
+4247 8 102 4
+424f 1 102 4
 FUNC 4250 3ef 0 -[DumpSymbols processDWARFFunctionInfo:]
-4250 15 473 3
-4265 25 474 3
-428a 1e 476 3
-42a8 a 480 3
-42b2 3c 481 3
-42ee 3d 483 3
-432b 23 485 3
-434e 26 487 3
-4374 6 489 3