Merge pull request #3114 from martin-frbg/issue3113

Fix dll_callback and p_process_term signatures for USE_TLS on Windows x64
This commit is contained in:
Martin Kroeker 2021-02-24 18:38:25 +01:00 committed by GitHub
commit 6c365ff648
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 6 additions and 2 deletions

View File

@ -1619,10 +1619,12 @@ static int on_process_term(void)
#else #else
#pragma data_seg(".CRT$XLB") #pragma data_seg(".CRT$XLB")
#endif #endif
static void (APIENTRY *dll_callback)(HINSTANCE h, DWORD ul_reason_for_call, PVOID pv) = DllMain;
#ifdef _WIN64 #ifdef _WIN64
static const PIMAGE_TLS_CALLBACK dll_callback(HINSTANCE h, DWORD ul_reason_for_call, PVOID pv) = DllMain;
#pragma const_seg() #pragma const_seg()
#else #else
static void (APIENTRY *dll_callback)(HINSTANCE h, DWORD ul_reason_for_call, PVOID pv) = DllMain;
#pragma data_seg() #pragma data_seg()
#endif #endif
@ -1631,10 +1633,12 @@ static void (APIENTRY *dll_callback)(HINSTANCE h, DWORD ul_reason_for_call, PVOI
#else #else
#pragma data_seg(".CRT$XTU") #pragma data_seg(".CRT$XTU")
#endif #endif
static int(*p_process_term)(void) = on_process_term;
#ifdef _WIN64 #ifdef _WIN64
static const int(*p_process_term)(void) = on_process_term;
#pragma const_seg() #pragma const_seg()
#else #else
static int(*p_process_term)(void) = on_process_term;
#pragma data_seg() #pragma data_seg()
#endif #endif
#endif #endif