Browse Source

fix: correct crash reporter for Windows on Arm (#17792)

ARM64 cleans up and moves around RUNTIME_FUNCTION structure fields.
With this patch applied, electron should build cleanly for Windows on Arm.
trop[bot] 6 years ago
parent
commit
48f190690e
1 changed files with 5 additions and 0 deletions
  1. 5 0
      atom/common/crash_reporter/crash_reporter_win.cc

+ 5 - 0
atom/common/crash_reporter/crash_reporter_win.cc

@@ -93,8 +93,13 @@ bool RegisterNonABICompliantCodeRange(void* start, size_t size_in_bytes) {
 
   // All addresses are 32bit relative offsets to start.
   record->runtime_function.BeginAddress = 0;
+#if defined(_M_ARM64)
+  record->runtime_function.FunctionLength =
+      base::checked_cast<DWORD>(size_in_bytes);
+#else
   record->runtime_function.EndAddress =
       base::checked_cast<DWORD>(size_in_bytes);
+#endif
   record->runtime_function.UnwindData =
       offsetof(ExceptionHandlerRecord, unwind_info);