blob: 02a2859498d3edc0bbc1bc11fa093f4f35ad2d35 [file] [log] [blame]
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