diff --git a/breakpad.bat b/breakpad.bat index 89c8ca7..9143564 100644 --- a/breakpad.bat +++ b/breakpad.bat @@ -20,7 +20,8 @@ cmd /c depot_tools\fetch --nohooks breakpad @IF %errorlevel% neq 0 EXIT /b %errorlevel% GOTO DONESRC :HASSRC -git -C src checkout origin/master +git -C src fetch +git -C src reset --hard origin/master @IF %errorlevel% neq 0 EXIT /b %errorlevel% cmd /c depot_tools\gclient sync --nohooks @IF %errorlevel% neq 0 EXIT /b %errorlevel% @@ -29,7 +30,7 @@ cmd /c depot_tools\gclient sync --nohooks cd src git config user.name patches git config user.email patches@localhost -powershell -Command "& {git am -3 $(ls ..\..\patches\*.patch | %% {$_.FullName})}" +powershell -Command "& {git am -3 --keep-cr $(ls ..\..\patches\*.patch | %% {$_.FullName})}" @IF %errorlevel% neq 0 EXIT /b %errorlevel% cd .. diff --git a/breakpad.sh b/breakpad.sh index b736bbd..31df9b2 100755 --- a/breakpad.sh +++ b/breakpad.sh @@ -14,14 +14,15 @@ fi if [ ! -d "src" ]; then PYTHONDONTWRITEBYTECODE=1 python2.7 ./depot_tools/fetch.py --nohooks breakpad else - git -C src checkout origin/master + git -C src fetch + git -C src reset --hard origin/master PYTHONDONTWRITEBYTECODE=1 python2.7 ./depot_tools/gclient.py sync --nohooks fi cd src git config user.name patches git config user.email patches@localhost -git am -3 ../../patches/*.patch +git am -3 --keep-cr ../../patches/*.patch cd .. if [ ! -d "build" ]; then diff --git a/patches/0001-Ignore-invalid-modules-rather-than-bailing-on-the-en.patch b/patches/0001-Ignore-invalid-modules-rather-than-bailing-on-the-en.patch index c0efcc8..d47f76a 100644 --- a/patches/0001-Ignore-invalid-modules-rather-than-bailing-on-the-en.patch +++ b/patches/0001-Ignore-invalid-modules-rather-than-bailing-on-the-en.patch @@ -1,7 +1,7 @@ -From 58a7ad704435fa7c7c401683cdf4bcad5f67718d Mon Sep 17 00:00:00 2001 +From 1f35257db226d6d0189cff0832a97cccc639c91a Mon Sep 17 00:00:00 2001 From: Asher Baker Date: Sun, 13 Jan 2019 12:34:45 +0000 -Subject: [PATCH 1/2] Ignore invalid modules rather than bailing on the entire +Subject: [PATCH 1/4] Ignore invalid modules rather than bailing on the entire module list --- @@ -9,10 +9,10 @@ Subject: [PATCH 1/2] Ignore invalid modules rather than bailing on the entire 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/processor/minidump.cc b/src/processor/minidump.cc -index afc5f038..63d4a426 100644 +index 78faf77a..c4fda7b7 100644 --- a/src/processor/minidump.cc +++ b/src/processor/minidump.cc -@@ -2766,7 +2766,7 @@ bool MinidumpModuleList::Read(uint32_t expected_size) { +@@ -2774,7 +2774,7 @@ bool MinidumpModuleList::Read(uint32_t expected_size) { BPLOG(ERROR) << "MinidumpModuleList could not read required module " "auxiliary data for module " << module_index << "/" << module_count; @@ -21,7 +21,7 @@ index afc5f038..63d4a426 100644 } // It is safe to use module->code_file() after successfully calling -@@ -2778,7 +2778,14 @@ bool MinidumpModuleList::Read(uint32_t expected_size) { +@@ -2786,7 +2786,14 @@ bool MinidumpModuleList::Read(uint32_t expected_size) { BPLOG(ERROR) << "MinidumpModuleList found bad base address for module " << module_index << "/" << module_count << ", " << module.code_file(); @@ -37,7 +37,7 @@ index afc5f038..63d4a426 100644 } // Some minidumps have additional modules in the list that are duplicates. -@@ -2805,7 +2812,7 @@ bool MinidumpModuleList::Read(uint32_t expected_size) { +@@ -2813,7 +2820,7 @@ bool MinidumpModuleList::Read(uint32_t expected_size) { << module_index << "/" << module_count << ", " << module.code_file() << ", " << HexString(base_address) << "+" << HexString(module_size); @@ -47,5 +47,5 @@ index afc5f038..63d4a426 100644 // If failed due to apparent range overlap the cause may be the client -- -2.17.2 +2.21.0 diff --git a/patches/0002-Write-FUNC-records-instead-of-PUBLIC-for-ELF-symbols.patch b/patches/0002-Write-FUNC-records-instead-of-PUBLIC-for-ELF-symbols.patch index 4c218c4..a5fc147 100644 --- a/patches/0002-Write-FUNC-records-instead-of-PUBLIC-for-ELF-symbols.patch +++ b/patches/0002-Write-FUNC-records-instead-of-PUBLIC-for-ELF-symbols.patch @@ -1,7 +1,7 @@ -From 372a974415a35dac48fdef49a774f8d974734ea6 Mon Sep 17 00:00:00 2001 +From 8aaf6e84a6704eb538f68a3e6fb6c3a8c93f1d8d Mon Sep 17 00:00:00 2001 From: Asher Baker Date: Sun, 13 Jan 2019 12:35:05 +0000 -Subject: [PATCH 2/2] Write FUNC records instead of PUBLIC for ELF symbols with +Subject: [PATCH 2/4] Write FUNC records instead of PUBLIC for ELF symbols with sizes --- @@ -46,5 +46,5 @@ index 562875e1..e11a5265 100644 ++iterator; } -- -2.17.2 +2.21.0 diff --git a/patches/0003-Avoid-using-_ZNSsC1ERKSsjRKSaIcE-GLIBCXX-symbol-due-.patch b/patches/0003-Avoid-using-_ZNSsC1ERKSsjRKSaIcE-GLIBCXX-symbol-due-.patch index 7d2aec8..8a613b7 100644 --- a/patches/0003-Avoid-using-_ZNSsC1ERKSsjRKSaIcE-GLIBCXX-symbol-due-.patch +++ b/patches/0003-Avoid-using-_ZNSsC1ERKSsjRKSaIcE-GLIBCXX-symbol-due-.patch @@ -1,7 +1,7 @@ -From dbfb9811ef8d9f4f2b19f50c0534c865ab3698c9 Mon Sep 17 00:00:00 2001 +From 21dfe5a22da02ed8bcd9fa1cca7c18c8c5310172 Mon Sep 17 00:00:00 2001 From: patches Date: Sun, 28 Apr 2019 18:45:57 +0000 -Subject: [PATCH 3/3] Avoid using _ZNSsC1ERKSsjRKSaIcE GLIBCXX symbol due to +Subject: [PATCH 3/4] Avoid using _ZNSsC1ERKSsjRKSaIcE GLIBCXX symbol due to version compat issues --- @@ -24,5 +24,5 @@ index 4135a51a..bfaaeefe 100644 } return name == sh_name; -- -2.17.2 +2.21.0 diff --git a/patches/0004-Support-compilation-on-VS-2015.patch b/patches/0004-Support-compilation-on-VS-2015.patch new file mode 100644 index 0000000..5f0e28b --- /dev/null +++ b/patches/0004-Support-compilation-on-VS-2015.patch @@ -0,0 +1,51 @@ +From 2f217812634d5e6c56f0cf9e7a4c9b7fb390e954 Mon Sep 17 00:00:00 2001 +From: patches +Date: Sat, 20 Jul 2019 15:52:37 +0100 +Subject: [PATCH 4/4] Support compilation on VS 2015 + +--- + src/common/windows/pe_util.cc | 1 + + src/common/windows/pe_util.h | 2 +- + src/tools/windows/dump_syms/dump_syms.cc | 1 + + 3 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/common/windows/pe_util.cc b/src/common/windows/pe_util.cc +index 6fa63fa3..03dcd142 100644 +--- a/src/common/windows/pe_util.cc ++++ b/src/common/windows/pe_util.cc +@@ -35,6 +35,7 @@ + #include + + #include ++#include + + #include "common/windows/string_utils-inl.h" + #include "common/windows/guid_string.h" +diff --git a/src/common/windows/pe_util.h b/src/common/windows/pe_util.h +index 634ba293..3eefa761 100644 +--- a/src/common/windows/pe_util.h ++++ b/src/common/windows/pe_util.h +@@ -60,7 +60,7 @@ wstring GenerateDebugIdentifier(DWORD age, DWORD signature); + + // Converts |machine| enum value to the corresponding string used by Breakpad. + // The enum is IMAGE_FILE_MACHINE_*, contained in winnt.h. +-constexpr const wchar_t* FileHeaderMachineToCpuString(WORD machine) { ++static inline const wchar_t* FileHeaderMachineToCpuString(WORD machine) { + switch (machine) { + case IMAGE_FILE_MACHINE_I386: { + return L"x86"; +diff --git a/src/tools/windows/dump_syms/dump_syms.cc b/src/tools/windows/dump_syms/dump_syms.cc +index 5b7d1777..1f22cfc2 100644 +--- a/src/tools/windows/dump_syms/dump_syms.cc ++++ b/src/tools/windows/dump_syms/dump_syms.cc +@@ -33,6 +33,7 @@ + #include + #include + ++#include + #include + + #include "common/windows/pdb_source_line_writer.h" +-- +2.21.0 +