diff --git a/glib/gconstructor.h b/glib/gconstructor.h index 9509e595f..407202167 100644 --- a/glib/gconstructor.h +++ b/glib/gconstructor.h @@ -42,13 +42,13 @@ */ /* We need to account for differences between the mangling of symbols - * for Win32 (x86) and x64 programs, as symbols on Win32 are prefixed - * with an underscore but symbols on x64 are not. + * for x86 and x64/ARM/ARM64 programs, as symbols on x86 are prefixed + * with an underscore but symbols on x64/ARM/ARM64 are not. */ -#ifdef _WIN64 -#define G_MSVC_SYMBOL_PREFIX "" -#else +#ifdef _M_IX86 #define G_MSVC_SYMBOL_PREFIX "_" +#else +#define G_MSVC_SYMBOL_PREFIX "" #endif #define G_DEFINE_CONSTRUCTOR(_func) G_MSVC_CTOR (_func, G_MSVC_SYMBOL_PREFIX)