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

ARM64 cleans up and moves around RUNTIME_FUNCTION structure fields.
With this patch applied, electron should build cleanly for Windows on Arm.
This commit is contained in:
Richard Townsend 2019-03-27 18:30:11 +00:00 committed by Samuel Attard
parent f4434763fe
commit 3d307e5610

View file

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