From efd90491c179c02a35ec70bed4385ca937fbcac8 Mon Sep 17 00:00:00 2001 From: matinzd Date: Mon, 8 Feb 2021 22:09:22 +0330 Subject: [PATCH] [aarm64] Fix GetSharedLibraryAddresses This patch fixes a segmentation fault which occurs when using `--prof` flag on a Darwin ARM64 architecture. ref: https://chromium-review.googlesource.com/c/v8/v8/+/2609413 --- deps/v8/src/base/platform/platform-macos.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/deps/v8/src/base/platform/platform-macos.cc b/deps/v8/src/base/platform/platform-macos.cc index bee6b30f7cc71c..2d9d26558d93f8 100644 --- a/deps/v8/src/base/platform/platform-macos.cc +++ b/deps/v8/src/base/platform/platform-macos.cc @@ -49,14 +49,14 @@ std::vector OS::GetSharedLibraryAddresses() { for (unsigned int i = 0; i < images_count; ++i) { const mach_header* header = _dyld_get_image_header(i); if (header == nullptr) continue; -#if V8_HOST_ARCH_X64 +#if V8_HOST_ARCH_I32 + unsigned int size; + char* code_ptr = getsectdatafromheader(header, SEG_TEXT, SECT_TEXT, &size); +#else uint64_t size; char* code_ptr = getsectdatafromheader_64( reinterpret_cast(header), SEG_TEXT, SECT_TEXT, &size); -#else - unsigned int size; - char* code_ptr = getsectdatafromheader(header, SEG_TEXT, SECT_TEXT, &size); #endif if (code_ptr == nullptr) continue; const intptr_t slide = _dyld_get_image_vmaddr_slide(i);