| 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 |
| |