From dd14dfe32c0939b26e547596c2408ff2ef395963 Mon Sep 17 00:00:00 2001 From: Jesper Rosenlund Nielsen Date: Sun, 10 May 2026 11:53:31 +0200 Subject: [PATCH] feat: Add __builtin_frame_address definition for MSVC compatibility (to enable building under Electron 42) --- lib/debugger.cc | 8 ++++++++ lib/dll.h | 8 +++++++- lib/functions.cc | 8 ++++++++ lib/memory.cc | 8 ++++++++ lib/memoryjs.cc | 7 +++++++ lib/module.cc | 8 ++++++++ lib/pattern.cc | 8 ++++++++ 7 files changed, 54 insertions(+), 1 deletion(-) diff --git a/lib/debugger.cc b/lib/debugger.cc index fef5165..6020af3 100644 --- a/lib/debugger.cc +++ b/lib/debugger.cc @@ -4,6 +4,14 @@ * https://github.com/ReClassNET/ReClass.NET */ +#ifdef _MSC_VER +#ifndef __builtin_frame_address +#include +#pragma intrinsic(_AddressOfReturnAddress) +#define __builtin_frame_address(x) ((void*)_AddressOfReturnAddress()) +#endif +#endif + #include #include #include diff --git a/lib/dll.h b/lib/dll.h index 11181bc..3168764 100644 --- a/lib/dll.h +++ b/lib/dll.h @@ -2,7 +2,13 @@ #ifndef DLL_H #define DLL_H #define WIN32_LEAN_AND_MEAN - +#ifdef _MSC_VER +#ifndef __builtin_frame_address +#include +#pragma intrinsic(_AddressOfReturnAddress) +#define __builtin_frame_address(x) ((void*)_AddressOfReturnAddress()) +#endif +#endif #include #include #include diff --git a/lib/functions.cc b/lib/functions.cc index 1685a9d..21e6777 100644 --- a/lib/functions.cc +++ b/lib/functions.cc @@ -1,3 +1,11 @@ +#ifdef _MSC_VER +#ifndef __builtin_frame_address +#include +#pragma intrinsic(_AddressOfReturnAddress) +#define __builtin_frame_address(x) ((void*)_AddressOfReturnAddress()) +#endif +#endif + #include #include #include diff --git a/lib/memory.cc b/lib/memory.cc index 6943dba..427fb04 100644 --- a/lib/memory.cc +++ b/lib/memory.cc @@ -1,3 +1,11 @@ +#ifdef _MSC_VER +#ifndef __builtin_frame_address +#include +#pragma intrinsic(_AddressOfReturnAddress) +#define __builtin_frame_address(x) ((void*)_AddressOfReturnAddress()) +#endif +#endif + #include #include #include diff --git a/lib/memoryjs.cc b/lib/memoryjs.cc index 3bed65b..5e7ffcd 100644 --- a/lib/memoryjs.cc +++ b/lib/memoryjs.cc @@ -1,5 +1,12 @@ #include #include +#ifdef _MSC_VER +#ifndef __builtin_frame_address +#include +#pragma intrinsic(_AddressOfReturnAddress) +#define __builtin_frame_address(x) ((void*)_AddressOfReturnAddress()) +#endif +#endif #include #include #include "module.h" diff --git a/lib/module.cc b/lib/module.cc index 8d5b52e..473e1fd 100644 --- a/lib/module.cc +++ b/lib/module.cc @@ -1,3 +1,11 @@ +#ifdef _MSC_VER +#ifndef __builtin_frame_address +#include +#pragma intrinsic(_AddressOfReturnAddress) +#define __builtin_frame_address(x) ((void*)_AddressOfReturnAddress()) +#endif +#endif + #include #include #include diff --git a/lib/pattern.cc b/lib/pattern.cc index 7c07632..3c16d1c 100644 --- a/lib/pattern.cc +++ b/lib/pattern.cc @@ -1,3 +1,11 @@ +#ifdef _MSC_VER +#ifndef __builtin_frame_address +#include +#pragma intrinsic(_AddressOfReturnAddress) +#define __builtin_frame_address(x) ((void*)_AddressOfReturnAddress()) +#endif +#endif + #include #include #include