diff --git a/bin/core2md b/bin/core2md
index b1489f7..0acb795 100755
--- a/bin/core2md
+++ b/bin/core2md
Binary files differ
diff --git a/bin/dump_syms b/bin/dump_syms
index 9a5cb4f..9762fdd 100755
--- a/bin/dump_syms
+++ b/bin/dump_syms
Binary files differ
diff --git a/bin/linux_dumper_unittest_helper b/bin/linux_dumper_unittest_helper
index 062fd41..37cbaca 100755
--- a/bin/linux_dumper_unittest_helper
+++ b/bin/linux_dumper_unittest_helper
Binary files differ
diff --git a/bin/microdump_stackwalk b/bin/microdump_stackwalk
index 42a0373..392eaa8 100755
--- a/bin/microdump_stackwalk
+++ b/bin/microdump_stackwalk
Binary files differ
diff --git a/bin/minidump-2-core b/bin/minidump-2-core
index b679d21..b7a5323 100755
--- a/bin/minidump-2-core
+++ b/bin/minidump-2-core
Binary files differ
diff --git a/bin/minidump_dump b/bin/minidump_dump
index 3d65f29..cef95eb 100755
--- a/bin/minidump_dump
+++ b/bin/minidump_dump
Binary files differ
diff --git a/bin/minidump_stackwalk b/bin/minidump_stackwalk
index 297276f..90ec917 100755
--- a/bin/minidump_stackwalk
+++ b/bin/minidump_stackwalk
Binary files differ
diff --git a/bin/minidump_upload b/bin/minidump_upload
index f43bf96..179abb6 100755
--- a/bin/minidump_upload
+++ b/bin/minidump_upload
Binary files differ
diff --git a/bin/sym_upload b/bin/sym_upload
index 87f9491..44699b5 100755
--- a/bin/sym_upload
+++ b/bin/sym_upload
Binary files differ
diff --git a/breakpad.patches b/breakpad.patches
new file mode 100644
index 0000000..02a2859
--- /dev/null
+++ b/breakpad.patches
@@ -0,0 +1,345 @@
+From 0cd07b7ff1672505361e459b7dd8b9cea34890db Mon Sep 17 00:00:00 2001
+From: Pavel Labath <labath@google.com>
+Date: Tue, 17 Nov 2015 14:52:34 +0000
+Subject: [PATCH 1/9] Define intptr and uintptr in a more generic way
+
+---
+ src/common/dwarf/types.h | 8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/src/common/dwarf/types.h b/src/common/dwarf/types.h
+index 61ca457..59dda31 100644
+--- a/src/common/dwarf/types.h
++++ b/src/common/dwarf/types.h
+@@ -45,11 +45,7 @@ typedef unsigned short     uint16;
+ typedef unsigned int       uint32;
+ typedef unsigned long long uint64;
+ 
+-#ifdef __PTRDIFF_TYPE__
+-typedef          __PTRDIFF_TYPE__ intptr;
+-typedef unsigned __PTRDIFF_TYPE__ uintptr;
+-#else
+-#error "Can't find pointer-sized integral types."
+-#endif
++typedef intptr_t           intptr;
++typedef uintptr_t          uintptr;
+ 
+ #endif // _COMMON_DWARF_TYPES_H__
+-- 
+2.6.0.rc2.230.g3dd15c0
+
+From 231eec7e70d0a2ee3ebef86f9b7111d238a1ff3c Mon Sep 17 00:00:00 2001
+From: Pavel Labath <labath@google.com>
+Date: Tue, 17 Nov 2015 14:54:00 +0000
+Subject: [PATCH 2/9] Remove unused include
+
+---
+ src/processor/disassembler_x86.cc | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/src/processor/disassembler_x86.cc b/src/processor/disassembler_x86.cc
+index 9eba848..55902240 100644
+--- a/src/processor/disassembler_x86.cc
++++ b/src/processor/disassembler_x86.cc
+@@ -27,7 +27,6 @@
+ #include "processor/disassembler_x86.h"
+ 
+ #include <string.h>
+-#include <unistd.h>
+ 
+ namespace google_breakpad {
+ 
+-- 
+2.6.0.rc2.230.g3dd15c0
+
+From d2877788fdca7d4f2b800b150154094c63889549 Mon Sep 17 00:00:00 2001
+From: Pavel Labath <labath@google.com>
+Date: Tue, 17 Nov 2015 14:54:57 +0000
+Subject: [PATCH 3/9] Undefine MSVC macro to get code compiling
+
+---
+ src/processor/exploitability_win.cc | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/processor/exploitability_win.cc b/src/processor/exploitability_win.cc
+index a1f8703..b044265 100644
+--- a/src/processor/exploitability_win.cc
++++ b/src/processor/exploitability_win.cc
+@@ -46,6 +46,10 @@
+ 
+ #include "third_party/libdisasm/libdis.h"
+ 
++#ifdef exception_code
++#undef exception_code
++#endif
++
+ namespace google_breakpad {
+ 
+ // The cutoff that we use to judge if and address is likely an offset
+-- 
+2.6.0.rc2.230.g3dd15c0
+
+From 4498332f11710f391dbeea110b926d267c84a881 Mon Sep 17 00:00:00 2001
+From: Pavel Labath <labath@google.com>
+Date: Tue, 17 Nov 2015 14:57:23 +0000
+Subject: [PATCH 4/9] Don't depend on sizeof(void)
+
+---
+ src/third_party/libdisasm/x86_disasm.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/third_party/libdisasm/x86_disasm.c b/src/third_party/libdisasm/x86_disasm.c
+index 51a213a..1b82f4e 100644
+--- a/src/third_party/libdisasm/x86_disasm.c
++++ b/src/third_party/libdisasm/x86_disasm.c
+@@ -35,7 +35,7 @@ unsigned int x86_disasm( unsigned char *buf, unsigned int buf_len,
+ 
+         if ( offset >= buf_len ) {
+                 /* another caller screwup ;) */
+-                x86_report_error(report_disasm_bounds, (void*)(long)buf_rva+offset);
++                x86_report_error(report_disasm_bounds, (void*)(long)(buf_rva+offset));
+                 return 0;
+         }
+ 
+@@ -53,13 +53,13 @@ unsigned int x86_disasm( unsigned char *buf, unsigned int buf_len,
+ 
+         /* check and see if we had an invalid instruction */
+         if (! size ) {
+-                x86_report_error(report_invalid_insn, (void*)(long)buf_rva+offset );
++                x86_report_error(report_invalid_insn, (void*)(long)(buf_rva+offset));
+                 return 0;
+         }
+ 
+         /* check if we overran the end of the buffer */
+         if ( size > len ) {
+-                x86_report_error( report_insn_bounds, (void*)(long)buf_rva + offset );
++                x86_report_error( report_insn_bounds, (void*)(long)(buf_rva + offset));
+ 		MAKE_INVALID( insn, bytes );
+ 		return 0;
+ 	}
+-- 
+2.6.0.rc2.230.g3dd15c0
+
+From f2924671f89ae5ac9304ff07564fb454e272d39a Mon Sep 17 00:00:00 2001
+From: Pavel Labath <labath@google.com>
+Date: Tue, 17 Nov 2015 15:05:34 +0000
+Subject: [PATCH 5/9] snprintf fixes for MSVC
+
+---
+ src/processor/minidump_processor.cc     | 4 ++++
+ src/processor/stackwalk_common.cc       | 6 ++++++
+ src/processor/symbolic_constants_win.cc | 6 +++++-
+ 3 files changed, 15 insertions(+), 1 deletion(-)
+
+diff --git a/src/processor/minidump_processor.cc b/src/processor/minidump_processor.cc
+index 3a20dfa..5c9d191 100644
+--- a/src/processor/minidump_processor.cc
++++ b/src/processor/minidump_processor.cc
+@@ -45,6 +45,10 @@
+ #include "processor/stackwalker_x86.h"
+ #include "processor/symbolic_constants_win.h"
+ 
++#ifdef _MSC_VER
++#define snprintf _snprintf
++#endif
++
+ namespace google_breakpad {
+ 
+ MinidumpProcessor::MinidumpProcessor(SymbolSupplier *supplier,
+diff --git a/src/processor/stackwalk_common.cc b/src/processor/stackwalk_common.cc
+index 3a6e17f..836a980 100644
+--- a/src/processor/stackwalk_common.cc
++++ b/src/processor/stackwalk_common.cc
+@@ -52,6 +52,12 @@
+ #include "processor/logging.h"
+ #include "processor/pathname_stripper.h"
+ 
++#ifdef _MSC_VER
++#include <basetsd.h>
++#define snprintf _snprintf
++#define ssize_t SSIZE_T
++#endif
++
+ namespace google_breakpad {
+ 
+ namespace {
+diff --git a/src/processor/symbolic_constants_win.cc b/src/processor/symbolic_constants_win.cc
+index 333aa04..dcc0842 100644
+--- a/src/processor/symbolic_constants_win.cc
++++ b/src/processor/symbolic_constants_win.cc
+@@ -40,6 +40,10 @@
+ #include "google_breakpad/common/minidump_exception_win32.h"
+ #include "processor/symbolic_constants_win.h"
+ 
++#ifdef _MSC_VER
++#define snprintf _snprintf
++#endif
++
+ namespace google_breakpad {
+ 
+ std::string NTStatusToString(uint32_t ntstatus) {
+@@ -6406,7 +6410,7 @@ std::string NTStatusToString(uint32_t ntstatus) {
+       break;
+     default: {
+       char reason_string[11];
+-      std::snprintf(reason_string, sizeof(reason_string), "0x%08x", ntstatus);
++      snprintf(reason_string, sizeof(reason_string), "0x%08x", ntstatus);
+       reason = reason_string;
+       break;
+     }
+-- 
+2.6.0.rc2.230.g3dd15c0
+
+From 903316ffb5cff18eae9846f81947ced0e04f57bc Mon Sep 17 00:00:00 2001
+From: Pavel Labath <labath@google.com>
+Date: Tue, 17 Nov 2015 15:07:23 +0000
+Subject: [PATCH 6/9] Add dependencies on build/common.gypi
+
+---
+ src/processor/processor.gyp             | 1 +
+ src/third_party/libdisasm/libdisasm.gyp | 3 +++
+ 2 files changed, 4 insertions(+)
+
+diff --git a/src/processor/processor.gyp b/src/processor/processor.gyp
+index fb3d7cd..8d81652 100644
+--- a/src/processor/processor.gyp
++++ b/src/processor/processor.gyp
+@@ -28,6 +28,7 @@
+ 
+ {
+   'includes': [
++    '../build/common.gypi',
+     'processor_tools.gypi',
+   ],
+   'targets': [
+diff --git a/src/third_party/libdisasm/libdisasm.gyp b/src/third_party/libdisasm/libdisasm.gyp
+index c48ac82..5c8dc45 100644
+--- a/src/third_party/libdisasm/libdisasm.gyp
++++ b/src/third_party/libdisasm/libdisasm.gyp
+@@ -27,6 +27,9 @@
+ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ 
+ {
++  'includes': [
++    '../../build/common.gypi',
++  ],
+   'targets': [
+     {
+       'target_name': 'libdisasm',
+-- 
+2.6.0.rc2.230.g3dd15c0
+
+From c3bffe4af98340d1c580c26c5d6b19d7dd29e727 Mon Sep 17 00:00:00 2001
+From: Pavel Labath <labath@google.com>
+Date: Tue, 17 Nov 2015 15:08:18 +0000
+Subject: [PATCH 7/9] Update processor.gyp: add/remove new/old files
+
+---
+ src/processor/processor.gyp | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/src/processor/processor.gyp b/src/processor/processor.gyp
+index 8d81652..2c76925 100644
+--- a/src/processor/processor.gyp
++++ b/src/processor/processor.gyp
+@@ -43,8 +43,6 @@
+         'basic_code_modules.h',
+         'basic_source_line_resolver.cc',
+         'basic_source_line_resolver_types.h',
+-        'binarystream.cc',
+-        'binarystream.h',
+         'call_stack.cc',
+         'cfi_frame_info-inl.h',
+         'cfi_frame_info.cc',
+@@ -79,6 +77,7 @@
+         'pathname_stripper.h',
+         'postfix_evaluator-inl.h',
+         'postfix_evaluator.h',
++	'proc_maps_linux.cc',
+         'process_state.cc',
+         'range_map-inl.h',
+         'range_map.h',
+@@ -144,7 +143,6 @@
+       'sources': [
+         'address_map_unittest.cc',
+         'basic_source_line_resolver_unittest.cc',
+-        'binarystream_unittest.cc',
+         'cfi_frame_info_unittest.cc',
+         'contained_range_map_unittest.cc',
+         'disassembler_x86_unittest.cc',
+-- 
+2.6.0.rc2.230.g3dd15c0
+
+From 45b0f73cc376b410064818ed542eab87f14fb7c0 Mon Sep 17 00:00:00 2001
+From: Pavel Labath <labath@google.com>
+Date: Tue, 17 Nov 2015 15:09:05 +0000
+Subject: [PATCH 8/9] Conditionally compile code for given platforms
+
+---
+ src/common/common.gyp | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/src/common/common.gyp b/src/common/common.gyp
+index 5a666de..96e1bce 100644
+--- a/src/common/common.gyp
++++ b/src/common/common.gyp
+@@ -35,6 +35,11 @@
+       ['OS=="linux"', {
+         'defines': ['HAVE_A_OUT_H'],
+       }],
++      ['OS!="android"', {'sources/': [['exclude', 'android/']]}],
++      ['OS!="linux"',   {'sources/': [['exclude', 'linux/'  ]]}],
++      ['OS!="mac"',     {'sources/': [['exclude', 'mac/'    ]]}],
++      ['OS!="solaris"', {'sources/': [['exclude', 'solaris/']]}],
++      ['OS!="win"',     {'sources/': [['exclude', 'windows/']]}],
+     ],
+   },
+   'targets': [
+-- 
+2.6.0.rc2.230.g3dd15c0
+
+From b829e2e56f2c51b4bec858e6d0087a9347eeb7cd Mon Sep 17 00:00:00 2001
+From: Pavel Labath <labath@google.com>
+Date: Tue, 17 Nov 2015 15:09:41 +0000
+Subject: [PATCH 9/9] Remove files which just don't compile on windows
+
+---
+ src/common/common.gyp | 8 --------
+ 1 file changed, 8 deletions(-)
+
+diff --git a/src/common/common.gyp b/src/common/common.gyp
+index 96e1bce..22941e3 100644
+--- a/src/common/common.gyp
++++ b/src/common/common.gyp
+@@ -81,8 +81,6 @@
+         'dwarf/types.h',
+         'dwarf_cfi_to_module.cc',
+         'dwarf_cfi_to_module.h',
+-        'dwarf_cu_to_module.cc',
+-        'dwarf_cu_to_module.h',
+         'dwarf_line_to_module.cc',
+         'dwarf_line_to_module.h',
+         'language.cc',
+@@ -163,10 +161,6 @@
+         'solaris/guid_creator.cc',
+         'solaris/guid_creator.h',
+         'solaris/message_output.h',
+-        'stabs_reader.cc',
+-        'stabs_reader.h',
+-        'stabs_to_module.cc',
+-        'stabs_to_module.h',
+         'string_conversion.cc',
+         'string_conversion.h',
+         'symbol_data.h',
+@@ -179,8 +173,6 @@
+         'windows/dia_util.h',
+         'windows/guid_string.cc',
+         'windows/guid_string.h',
+-        'windows/http_upload.cc',
+-        'windows/http_upload.h',
+         'windows/omap.cc',
+         'windows/omap.h',
+         'windows/omap_internal.h',
+-- 
+2.6.0.rc2.230.g3dd15c0
+
diff --git a/build-breakpad.sh b/build-breakpad.sh
index e8e7485..7f522ca 100755
--- a/build-breakpad.sh
+++ b/build-breakpad.sh
@@ -3,7 +3,7 @@
 # works on Linux, OS X and Windows
 # leaves output in /tmp/prebuilts/google-breakpad/$OS-x86
 
-build_and_install()
+build_and_install_MSVC()
 {
 	solution=$1
 	project=$2
@@ -13,13 +13,28 @@
 		project_switch="/Project $project"
 	fi
 
-	$RD/gyp/gyp --no-circular-check $solution.gyp
-	_CL_=/MDd devenv.com $solution.sln /Build Debug $project_switch
-	_CL_=/MD devenv.com $solution.sln /Build Release $project_switch
-	for build in Debug Release; do
-		find $build -name '*.exe' -exec cp -va -t $INSTALL/$build {} +
-		find $build -name '*.lib' -exec cp -va -t $INSTALL/$build {} +
-	done
+        $RD/gyp/gyp --no-circular-check --no-duplicate-basename-check $solution.gyp
+        (
+                export CL="/DBPLOG_MINIMUM_SEVERITY=SEVERITY_ERROR \"$VS120COMNTOOLS\\..\\..\\DIA SDK\\include\""
+                _CL_="/MDd /WX-" devenv $solution.sln /Build Debug $project_switch
+                _CL_="/MD /WX-" devenv $solution.sln /Build Release $project_switch
+        )
+        for build in Debug Release; do
+                find $build -name '*.exe' -exec cp -va -t $INSTALL/$build {} +
+                find $build -name '*.lib' -exec cp -va -t $INSTALL/$build {} +
+        done
+}
+
+build_and_install_configure()
+{
+        mkdir $RD/build
+        cd $RD/build
+        local defines="-DBPLOG_MINIMUM_SEVERITY=SEVERITY_ERROR"
+        export CFLAGS="$CFLAGS $defines"
+        export CXXFLAGS="$CXXFLAGS $defines"
+        ../sources/configure --prefix=/
+        make -j$CORES
+        make install-strip DESTDIR=$INSTALL
 }
 
 install_headers()
@@ -36,12 +51,21 @@
 
 MSVS=2013
 
-source $(dirname "$0")/build-common.sh build-common.sh
+source $(dirname "$0")/build-common.sh "$@"
 
 git clone https://chromium.googlesource.com/breakpad/breakpad --no-checkout sources
 cd sources
 git checkout $VER
 
+# This commit fixes dump_syms on mac. We can't just fast-forward to this commit
+# yet, one of the later commits breaks "make install" on linux.
+# TODO(labath): Fix make install upstream, so we can update properly here.
+git cherry-pick cc7b69a8
+
+# these patches make it possible to build minidump_stackwalk on windows
+# TODO(labath): Upstream these patches, so that we don't need to patch it locally
+git am "$SCRIPT_DIR/breakpad.patches"
+
 cd src/third_party
 git clone https://chromium.googlesource.com/linux-syscall-support --no-checkout lss
 cd lss
@@ -55,29 +79,30 @@
 
 case "$OS" in
 	linux)
-		mkdir build
-		cd build
-		../sources/configure --prefix=/
-		make -j$CORES
-		make install DESTDIR=$INSTALL
+                build_and_install_configure
 
-                # make install does not actually install all the headers. Let's finish the job
-                # for him.
-                # TODO: This can be removed when the upstream installation patch lands
-                install_headers
-        ;;
-        darwin)
-                cd $RD/sources/src/tools/mac/dump_syms
-                xcodebuild -project dump_syms.xcodeproj -configuration Release -target dump_syms -sdk macosx10.9 GCC_VERSION= GCC_TREAT_WARNINGS_AS_ERRORS=no
-                mkdir $INSTALL/bin
-                cp build/Release/dump_syms $INSTALL/bin
+		# make install does not actually install all the headers. Let's finish the job
+		# for him.
+		# TODO: This can be removed when the upstream installation patch lands
+		install_headers
+	;;
+	darwin)
+		cd $RD/sources/src/tools/mac/dump_syms
+		xcodebuild -project dump_syms.xcodeproj -configuration Release -target dump_syms -sdk macosx10.9 GCC_VERSION= GCC_TREAT_WARNINGS_AS_ERRORS=no
+		mkdir $INSTALL/bin
+		cp build/Release/dump_syms $INSTALL/bin
 
-                cd $RD/sources/src/client/mac
-                xcodebuild -project Breakpad.xcodeproj -configuration Release -target Breakpad -sdk macosx10.9 GCC_VERSION=
-                install_name_tool -id @executable_path/../Breakpad.framework/Resources/breakpadUtilities.dylib build/Release/breakpadUtilities.dylib
-                install_name_tool -id @executable_path/../Breakpad.framework/Breakpad build/Release/Breakpad.framework/Breakpad
-                install_name_tool -change @executable_path/../Frameworks/Breakpad.framework/Resources/breakpadUtilities.dylib @executable_path/../Breakpad.framework/Resources/breakpadUtilities.dylib build/Release/Breakpad.framework/Breakpad
-                cp -r build/Release/Breakpad.framework $INSTALL
+		cd $RD/sources/src/client/mac
+		xcodebuild -project Breakpad.xcodeproj -configuration Release -target Breakpad -sdk macosx10.9 GCC_VERSION=
+		install_name_tool -id @executable_path/../Breakpad.framework/Resources/breakpadUtilities.dylib build/Release/breakpadUtilities.dylib
+		install_name_tool -id @executable_path/../Breakpad.framework/Breakpad build/Release/Breakpad.framework/Breakpad
+		install_name_tool -change @executable_path/../Frameworks/Breakpad.framework/Resources/breakpadUtilities.dylib @executable_path/../Breakpad.framework/Resources/breakpadUtilities.dylib build/Release/Breakpad.framework/Breakpad
+		cp -r build/Release/Breakpad.framework $INSTALL
+
+                # for minidump_stackwalk
+                build_and_install_configure
+                # libbreakpad.a built by configure is unusable
+                rm $INSTALL/lib/libbreakpad.a
 
 		install_headers
 	;;
@@ -85,22 +110,25 @@
 		mkdir $INSTALL/Release $INSTALL/Debug
 
 		cd $RD/sources/src/client/windows/handler
-		build_and_install exception_handler exception_handler
+		build_and_install_MSVC exception_handler exception_handler
 
 		cd $RD/sources/src/client/windows/crash_generation
-		build_and_install crash_generation crash_generation_client
+		build_and_install_MSVC crash_generation crash_generation_client
 
 		cd $RD/sources/src/common/windows
-		build_and_install common_windows common_windows_lib
+		build_and_install_MSVC common_windows common_windows_lib
 
 		cd $RD/sources/src/tools/windows/dump_syms
-		build_and_install dump_syms dump_syms
+		build_and_install_MSVC dump_syms dump_syms
 
 		cd $RD/sources/src/tools/windows/symupload
-		build_and_install symupload symupload
+		build_and_install_MSVC symupload symupload
 
-		install_headers
+                cd $RD/sources/src/processor
+                build_and_install_MSVC processor minidump_stackwalk
+
+                install_headers
 	;;
 esac
 
-commit_and_push
+finalize_build
diff --git a/build-common.sh b/build-common.sh
index 0f252ea..e25bfc9 100755
--- a/build-common.sh
+++ b/build-common.sh
@@ -1,62 +1,97 @@
 # latest version of this file can be found at
-# https://android.googlesource.com/platform/external/lldb-utils
+# sso://googleplex-android/platform/external/lldb-utils
 #
 # inputs
-# $PROJ - project name (cmake|ninja|swig)
+# $PROJ - project name
 # $VER - project version
-# $1 - name of this file
+# $1 - (temporary) output directory
+# $2 - build directory for build artefacts
+# $3 - build number
 #
 # this file does the following:
 #
 # 1) define the following env vars
 #    OS - linux|darwin|windows
-#    USER - username
 #    CORES - numer of cores (for parallel builds)
 #    PATH (with appropriate compilers)
 #    CFLAGS/CXXFLAGS/LDFLAGS
 #    RD - root directory for source and object files
-#    INSTALL - install directory/git repo root
-#    SCRIPT_FILE=absolute path to the parent build script
-#    SCRIPT_DIR=absolute path to the parent build script's directory
-#    COMMON_FILE=absolute path to this file
-# 2) create an empty tmp directory at /tmp/$PROJ-$USER
-# 3) checkout the destination git repo to /tmp/prebuilts/$PROJ/$OS-x86/$VER
-# 4) cd $RD
+#    INSTALL - install directory
+#    SCRIPT_FILE - absolute path to the parent build script
+#    SCRIPT_DIR - absolute path to the parent build script's directory
+#    COMMON_FILE - absolute path to this file
+# 2) cd $RD
+#
+# after placing all your build products into $INSTALL you should call finalize_build to produce
+# the final build artifact
+
+# exit on error
+set -e
+
+SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[1]}")" && pwd -P)"
+SCRIPT_FILE="$SCRIPT_DIR/$(basename "${BASH_SOURCE[1]}")"
+COMMON_FILE="$SCRIPT_DIR/$(basename "${BASH_SOURCE[0]}")"
+
+# calculate the root directory from the script path
+# this script lives three directories down from the root
+# external/lldb-utils/prebuilts/build-common.sh
+ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd -P)"
+cd "$ROOT_DIR"
+
+function die() {
+	echo "$*" > /dev/stderr
+	echo "Usage: $0 <out_dir> <dest_dir> <build_number>" > /dev/stderr
+	exit 1
+}
+
+(($# > 3)) && die "[$0] Unknown parameter: $4"
+
+OUT="$1"
+DEST="$2"
+BNUM="$3"
+
+[ ! "$OUT"  ] && die "## Error: Missing out folder"
+[ ! "$DEST" ] && die "## Error: Missing destination folder"
+[ ! "$BNUM" ] && die "## Error: Missing build number"
+
+mkdir -p "$OUT" "$DEST"
+OUT="$(cd "$OUT" && pwd -P)"
+DEST="$(cd "$DEST" && pwd -P)"
+
+cat <<END_INFO
+## Building $PROJ ##
+## Out Dir  : $OUT
+## Dest Dir : $DEST
+## Build Num: $BNUM
+
+END_INFO
 
 UNAME="$(uname)"
+UPSTREAM=sso://googleplex-android/platform/prebuilts
 case "$UNAME" in
 Linux)
-    SCRATCH=/tmp
     OS='linux'
     INSTALL_VER=$VER
     ;;
 Darwin)
-    SCRATCH=/tmp
     OS='darwin'
-    OSX_MIN=10.6
+    OSX_MIN=10.8
+    export CC=clang
+    export CXX=$CC++
     export CFLAGS="$CFLAGS -mmacosx-version-min=$OSX_MIN"
-    export CXXFLAGS="$CXXFLAGS -mmacosx-version-min=$OSX_MIN"
+    export CXXFLAGS="$CXXFLAGS -mmacosx-version-min=$OSX_MIN -stdlib=libc++"
     export LDFLAGS="$LDFLAGS -mmacosx-version-min=$OSX_MIN"
     INSTALL_VER=$VER
     ;;
 *_NT-*)
-    if [[ "$UNAME" == CYGWIN_NT-* ]]; then
-        PATH_PREFIX=/cygdrive
-    else
-        # MINGW32_NT-*
-        PATH_PREFIX=
-    fi
-    SCRATCH=/tmp
-    USER=$USERNAME
     OS='windows'
     CORES=$NUMBER_OF_PROCESSORS
     # VS2013 x64 Native Tools Command Prompt
     case "$MSVS" in
     2013)
-        export PATH="$PATH_PREFIX/c/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin/amd64/":"$PATH_PREFIX/c/Program Files (x86)/Microsoft Visual Studio 12.0/Common7/IDE/":"$PATH"
-        export INCLUDE="C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\INCLUDE;C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\ATLMFC\\INCLUDE;C:\\Program Files (x86)\\Windows Kits\\8.1\\include\\shared;C:\\Program Files (x86)\\Windows Kits\\8.1\\include\\um;C:\\Program Files (x86)\\Windows Kits\\8.1\\include\\winrt;"
-        export LIB="C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\LIB\\amd64;C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\ATLMFC\\LIB\\amd64;C:\\Program Files (x86)\\Windows Kits\\8.1\\lib\\winv6.3\\um\\x64;"
-        export LIBPATH="C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319;C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\LIB\\amd64;C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\ATLMFC\\LIB\\amd64;C:\\Program Files (x86)\\Windows Kits\\8.1\\References\\CommonConfiguration\\Neutral;C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v8.1\\ExtensionSDKs\\Microsoft.VCLibs\\12.0\\References\\CommonConfiguration\\neutral;"
+        devenv() {
+            cmd /c "${VS120COMNTOOLS}VsDevCmd.bat" '&' devenv.com "$@"
+        }
         INSTALL_VER=${VER}_${MSVS}
         ;;
     *)
@@ -72,18 +107,9 @@
     ;;
 esac
 
-RD=$SCRATCH/$PROJ-$USER
+RD=$OUT/$PROJ
 INSTALL="$RD/install"
 
-# OSX lacks a "realpath" bash command
-realpath() {
-    [[ $1 = /* ]] && echo "$1" || echo "$PWD/${1#./}"
-}
-
-SCRIPT_FILE=$(realpath "$0")
-SCRIPT_DIR="$(dirname "$SCRIPT_FILE")"
-COMMON_FILE="$SCRIPT_DIR/$1"
-
 cd /tmp # windows can't delete if you're in the dir
 rm -rf $RD
 mkdir -p $INSTALL
@@ -93,41 +119,30 @@
 # clone prebuilt gcc
 case "$OS" in
 linux)
-    GCC_DIR=$RD/gcc
-    GCC_LIB=$GCC_DIR/lib/gcc/x86_64-linux/4.8 # crtbegin.o and libgcc.a
-    GCC_LIB2=$GCC_DIR/x86_64-linux/lib64 # libgcc_s.so
-
     # can't get prebuilt clang working so we're using host clang-3.5 https://b/22748915
+    #CLANG_DIR=$RD/clang
+    #git clone $UPSTREAM/clang/linux-x86/host/3.6 $CLANG_DIR
+    #export CC="$CLANG_DIR/bin/clang"
+    #export CXX="$CC++"
     export CC=clang-3.5
     export CXX=clang++-3.5
-    export CFLAGS="$CFLAGS -fuse-ld=gold --sysroot $GCC_DIR/sysroot -B$GCC_LIB"
-    export CXXFLAGS="$CFLAGS -Ix86_64-linux/include/c++/4.8 -Ix86_64-linux/include/x86_64-linux/c++/4.8"
-    export LDFLAGS="$LDFLAGS -m64 --sysroot $GCC_DIR/sysroot -L$GCC_LIB -L$GCC_LIB2"
-    # lldb uses at least one function from glibc2.12
-    git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.15-4.8 $GCC_DIR
+
+    GCC_DIR=$RD/gcc
+    git clone $UPSTREAM/gcc/linux-x86/host/x86_64-linux-glibc2.15-4.8 $GCC_DIR
+
+    find "$GCC_DIR" -name x86_64-linux -exec ln -fns {} {}-gnu \;
+
+    FLAGS+=(-fuse-ld=gold)
+    FLAGS+=(--gcc-toolchain="$GCC_DIR")
+    FLAGS+=(--sysroot "$GCC_DIR/sysroot")
+    FLAGS+=(-B"$GCC_DIR/bin/x86_64-linux-")
+    export CFLAGS="$CFLAGS ${FLAGS[*]}"
+    export CXXFLAGS="$CXXFLAGS ${FLAGS[*]}"
+    export LDFLAGS="$LDFLAGS -m64"
     ;;
 esac
 
-commit_and_push()
-{
-    # check into a local git clone
-    rm -rf $SCRATCH/prebuilts/$PROJ/
-    mkdir -p $SCRATCH/prebuilts/$PROJ/
-    cd $SCRATCH/prebuilts/$PROJ/
-    git clone persistent-https://googleplex-android.git.corp.google.com/platform/prebuilts/$PROJ/$OS-x86 --no-checkout
-    GIT_REPO="$SCRATCH/prebuilts/$PROJ/$OS-x86"
-    cd $GIT_REPO
-    git checkout lldb-master-dev
-    git rm -r * || true  # ignore error caused by empty directory
-    mv $INSTALL/* $GIT_REPO
-    cp $SCRIPT_FILE $GIT_REPO
-    cp $COMMON_FILE $GIT_REPO
-
-    git add .
-    git commit -m "Adding binaries for $INSTALL_VER"
-
-    # execute this command to upload
-    #git push origin HEAD:refs/for/master
-
-    rm -rf $RD || true  # ignore error
+function finalize_build() {
+    cp "$SCRIPT_FILE" "$COMMON_FILE" "$INSTALL"
+    (cd "$INSTALL" && zip --symlinks -r "$DEST/$PROJ-$BNUM.zip" .)
 }
diff --git a/include/breakpad/common/dwarf/types.h b/include/breakpad/common/dwarf/types.h
index 61ca457..59dda31 100644
--- a/include/breakpad/common/dwarf/types.h
+++ b/include/breakpad/common/dwarf/types.h
@@ -45,11 +45,7 @@
 typedef unsigned int       uint32;
 typedef unsigned long long uint64;
 
-#ifdef __PTRDIFF_TYPE__
-typedef          __PTRDIFF_TYPE__ intptr;
-typedef unsigned __PTRDIFF_TYPE__ uintptr;
-#else
-#error "Can't find pointer-sized integral types."
-#endif
+typedef intptr_t           intptr;
+typedef uintptr_t          uintptr;
 
 #endif // _COMMON_DWARF_TYPES_H__
diff --git a/lib/libbreakpad.a b/lib/libbreakpad.a
index 61edcdb..47e6776 100644
--- a/lib/libbreakpad.a
+++ b/lib/libbreakpad.a
Binary files differ
diff --git a/lib/libbreakpad_client.a b/lib/libbreakpad_client.a
index 91e15ce..d39bcdf 100644
--- a/lib/libbreakpad_client.a
+++ b/lib/libbreakpad_client.a
Binary files differ
