Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Commit c716068

Browse files
parjongBruceForstall
authored andcommitted
[x86/Linux] Use CDECL as STDAPICALLTYPE (#10969)
* [x86/Linux] Use CDECL as STDAPICALLTYPE * Use system default calling convention for internal functions
1 parent fcc2571 commit c716068

File tree

17 files changed

+72
-74
lines changed

17 files changed

+72
-74
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
//
2+
// Copyright (c) Microsoft. All rights reserved.
3+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
4+
//
5+
6+
#ifndef _CoreClrCommonCallbacks
7+
#define _CoreClrCommonCallbacks
8+
9+
#include "runtimedetails.h"
10+
11+
IExecutionEngine* IEE_t();
12+
HRESULT GetCORSystemDirectory(LPWSTR pbuffer, DWORD cchBuffer, DWORD* pdwlength);
13+
LPVOID EEHeapAllocInProcessHeap(DWORD dwFlags, SIZE_T dwBytes);
14+
BOOL EEHeapFreeInProcessHeap(DWORD dwFlags, LPVOID lpMem);
15+
void* GetCLRFunction(LPCSTR functionName);
16+
17+
typedef LPVOID (*pfnEEHeapAllocInProcessHeap)(DWORD dwFlags, SIZE_T dwBytes);
18+
typedef BOOL (*pfnEEHeapFreeInProcessHeap)(DWORD dwFlags, LPVOID lpMem);
19+
20+
#endif

src/ToolBox/superpmi/superpmi-shim-collector/coreclrcallbacks.cpp

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,11 @@
77
#include "coreclrcallbacks.h"
88
#include "iexecutionengine.h"
99

10-
typedef LPVOID(__stdcall* pfnEEHeapAllocInProcessHeap)(DWORD dwFlags, SIZE_T dwBytes);
11-
typedef BOOL(__stdcall* pfnEEHeapFreeInProcessHeap)(DWORD dwFlags, LPVOID lpMem);
12-
1310
CoreClrCallbacks* original_CoreClrCallbacks = nullptr;
1411
pfnEEHeapAllocInProcessHeap original_EEHeapAllocInProcessHeap = nullptr;
1512
pfnEEHeapFreeInProcessHeap original_EEHeapFreeInProcessHeap = nullptr;
1613

17-
IExecutionEngine* STDMETHODCALLTYPE IEE_t()
14+
IExecutionEngine* IEE_t()
1815
{
1916
interceptor_IEE* iee = new interceptor_IEE();
2017
iee->original_IEE = original_CoreClrCallbacks->m_pfnIEE();
@@ -29,21 +26,21 @@ HRESULT STDMETHODCALLTYPE GetCORSystemDirectory(LPWSTR pbuffer, DWORD cchBuffer,
2926
}
3027
*/
3128

32-
LPVOID STDMETHODCALLTYPE EEHeapAllocInProcessHeap(DWORD dwFlags, SIZE_T dwBytes)
29+
LPVOID EEHeapAllocInProcessHeap(DWORD dwFlags, SIZE_T dwBytes)
3330
{
3431
if (original_EEHeapAllocInProcessHeap == nullptr)
3532
__debugbreak();
3633
return original_EEHeapAllocInProcessHeap(dwFlags, dwBytes);
3734
}
3835

39-
BOOL STDMETHODCALLTYPE EEHeapFreeInProcessHeap(DWORD dwFlags, LPVOID lpMem)
36+
BOOL EEHeapFreeInProcessHeap(DWORD dwFlags, LPVOID lpMem)
4037
{
4138
if (original_EEHeapFreeInProcessHeap == nullptr)
4239
__debugbreak();
4340
return original_EEHeapFreeInProcessHeap(dwFlags, lpMem);
4441
}
4542

46-
void* STDMETHODCALLTYPE GetCLRFunction(LPCSTR functionName)
43+
void* GetCLRFunction(LPCSTR functionName)
4744
{
4845
if (strcmp(functionName, "EEHeapAllocInProcessHeap") == 0)
4946
{

src/ToolBox/superpmi/superpmi-shim-collector/coreclrcallbacks.h

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,8 @@
66
#ifndef _CoreClrCallbacks
77
#define _CoreClrCallbacks
88

9-
#include "runtimedetails.h"
10-
11-
IExecutionEngine* STDMETHODCALLTYPE IEE_t();
12-
HRESULT STDMETHODCALLTYPE GetCORSystemDirectory(LPWSTR pbuffer, DWORD cchBuffer, DWORD* pdwlength);
13-
LPVOID STDMETHODCALLTYPE EEHeapAllocInProcessHeap(DWORD dwFlags, SIZE_T dwBytes);
14-
BOOL STDMETHODCALLTYPE EEHeapFreeInProcessHeap(DWORD dwFlags, LPVOID lpMem);
15-
void* STDMETHODCALLTYPE GetCLRFunction(LPCSTR functionName);
9+
#include "coreclrcommoncallbacks.h"
1610

1711
extern CoreClrCallbacks* original_CoreClrCallbacks;
1812

19-
#endif
13+
#endif

src/ToolBox/superpmi/superpmi-shim-counter/coreclrcallbacks.cpp

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,11 @@
77
#include "coreclrcallbacks.h"
88
#include "iexecutionengine.h"
99

10-
typedef LPVOID(__stdcall* pfnEEHeapAllocInProcessHeap)(DWORD dwFlags, SIZE_T dwBytes);
11-
typedef BOOL(__stdcall* pfnEEHeapFreeInProcessHeap)(DWORD dwFlags, LPVOID lpMem);
12-
1310
CoreClrCallbacks* original_CoreClrCallbacks = nullptr;
1411
pfnEEHeapAllocInProcessHeap original_EEHeapAllocInProcessHeap = nullptr;
1512
pfnEEHeapFreeInProcessHeap original_EEHeapFreeInProcessHeap = nullptr;
1613

17-
IExecutionEngine* STDMETHODCALLTYPE IEE_t()
14+
IExecutionEngine* IEE_t()
1815
{
1916
interceptor_IEE* iee = new interceptor_IEE();
2017
iee->original_IEE = original_CoreClrCallbacks->m_pfnIEE();
@@ -29,21 +26,21 @@ HRESULT STDMETHODCALLTYPE GetCORSystemDirectory(LPWSTR pbuffer, DWORD cchBuffer,
2926
}
3027
*/
3128

32-
LPVOID STDMETHODCALLTYPE EEHeapAllocInProcessHeap(DWORD dwFlags, SIZE_T dwBytes)
29+
LPVOID EEHeapAllocInProcessHeap(DWORD dwFlags, SIZE_T dwBytes)
3330
{
3431
if (original_EEHeapAllocInProcessHeap == nullptr)
3532
__debugbreak();
3633
return original_EEHeapAllocInProcessHeap(dwFlags, dwBytes);
3734
}
3835

39-
BOOL STDMETHODCALLTYPE EEHeapFreeInProcessHeap(DWORD dwFlags, LPVOID lpMem)
36+
BOOL EEHeapFreeInProcessHeap(DWORD dwFlags, LPVOID lpMem)
4037
{
4138
if (original_EEHeapFreeInProcessHeap == nullptr)
4239
__debugbreak();
4340
return original_EEHeapFreeInProcessHeap(dwFlags, lpMem);
4441
}
4542

46-
void* STDMETHODCALLTYPE GetCLRFunction(LPCSTR functionName)
43+
void* GetCLRFunction(LPCSTR functionName)
4744
{
4845
if (strcmp(functionName, "EEHeapAllocInProcessHeap") == 0)
4946
{

src/ToolBox/superpmi/superpmi-shim-counter/coreclrcallbacks.h

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,8 @@
66
#ifndef _CoreClrCallbacks
77
#define _CoreClrCallbacks
88

9-
#include "runtimedetails.h"
10-
11-
IExecutionEngine* STDMETHODCALLTYPE IEE_t();
12-
HRESULT STDMETHODCALLTYPE GetCORSystemDirectory(LPWSTR pbuffer, DWORD cchBuffer, DWORD* pdwlength);
13-
LPVOID STDMETHODCALLTYPE EEHeapAllocInProcessHeap(DWORD dwFlags, SIZE_T dwBytes);
14-
BOOL STDMETHODCALLTYPE EEHeapFreeInProcessHeap(DWORD dwFlags, LPVOID lpMem);
15-
void* STDMETHODCALLTYPE GetCLRFunction(LPCSTR functionName);
9+
#include "coreclrcommoncallbacks.h"
1610

1711
extern CoreClrCallbacks* original_CoreClrCallbacks;
1812

19-
#endif
13+
#endif

src/ToolBox/superpmi/superpmi-shim-simple/coreclrcallbacks.cpp

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,11 @@
77
#include "coreclrcallbacks.h"
88
#include "iexecutionengine.h"
99

10-
typedef LPVOID(__stdcall* pfnEEHeapAllocInProcessHeap)(DWORD dwFlags, SIZE_T dwBytes);
11-
typedef BOOL(__stdcall* pfnEEHeapFreeInProcessHeap)(DWORD dwFlags, LPVOID lpMem);
12-
1310
CoreClrCallbacks* original_CoreClrCallbacks = nullptr;
1411
pfnEEHeapAllocInProcessHeap original_EEHeapAllocInProcessHeap = nullptr;
1512
pfnEEHeapFreeInProcessHeap original_EEHeapFreeInProcessHeap = nullptr;
1613

17-
IExecutionEngine* STDMETHODCALLTYPE IEE_t()
14+
IExecutionEngine* IEE_t()
1815
{
1916
interceptor_IEE* iee = new interceptor_IEE();
2017
iee->original_IEE = original_CoreClrCallbacks->m_pfnIEE();
@@ -29,17 +26,17 @@ HRESULT STDMETHODCALLTYPE GetCORSystemDirectory(LPWSTR pbuffer, DWORD cchBuffer,
2926
}
3027
*/
3128

32-
LPVOID STDMETHODCALLTYPE EEHeapAllocInProcessHeap(DWORD dwFlags, SIZE_T dwBytes)
29+
LPVOID EEHeapAllocInProcessHeap(DWORD dwFlags, SIZE_T dwBytes)
3330
{
3431
return original_EEHeapAllocInProcessHeap(dwFlags, dwBytes);
3532
}
3633

37-
BOOL STDMETHODCALLTYPE EEHeapFreeInProcessHeap(DWORD dwFlags, LPVOID lpMem)
34+
BOOL EEHeapFreeInProcessHeap(DWORD dwFlags, LPVOID lpMem)
3835
{
3936
return original_EEHeapFreeInProcessHeap(dwFlags, lpMem);
4037
}
4138

42-
void* STDMETHODCALLTYPE GetCLRFunction(LPCSTR functionName)
39+
void* GetCLRFunction(LPCSTR functionName)
4340
{
4441
if (strcmp(functionName, "EEHeapAllocInProcessHeap") == 0)
4542
{

src/ToolBox/superpmi/superpmi-shim-simple/coreclrcallbacks.h

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,9 @@
66
#ifndef _CoreClrCallbacks
77
#define _CoreClrCallbacks
88

9-
#include "runtimedetails.h"
10-
11-
IExecutionEngine* STDMETHODCALLTYPE IEE_t();
12-
HRESULT STDMETHODCALLTYPE GetCORSystemDirectory(LPWSTR pbuffer, DWORD cchBuffer, DWORD* pdwlength);
13-
LPVOID STDMETHODCALLTYPE EEHeapAllocInProcessHeap(DWORD dwFlags, SIZE_T dwBytes);
14-
BOOL STDMETHODCALLTYPE EEHeapFreeInProcessHeap(DWORD dwFlags, LPVOID lpMem);
15-
void* STDMETHODCALLTYPE GetCLRFunction(LPCSTR functionName);
9+
#include "coreclrcommoncallbacks.h"
1610

1711
// Added to allow us to persist a copy of the original callbacks
1812
extern CoreClrCallbacks* original_CoreClrCallbacks;
1913

20-
#endif
14+
#endif

src/ToolBox/superpmi/superpmi/coreclrcallbacks.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
#include "coreclrcallbacks.h"
99
#include "iexecutionengine.h"
1010

11-
IExecutionEngine* STDMETHODCALLTYPE IEE_t()
11+
IExecutionEngine* IEE_t()
1212
{
1313
MyIEE* iee = InitIExecutionEngine();
1414
return iee;
@@ -24,7 +24,7 @@ HRESULT STDMETHODCALLTYPE GetCORSystemDirectory(LPWSTR pbuffer, DWORD cchBuffer,
2424

2525
HANDLE ourHeap = nullptr;
2626

27-
LPVOID STDMETHODCALLTYPE EEHeapAllocInProcessHeap(DWORD dwFlags, SIZE_T dwBytes)
27+
LPVOID EEHeapAllocInProcessHeap(DWORD dwFlags, SIZE_T dwBytes)
2828
{
2929
if (ourHeap == nullptr)
3030
ourHeap = HeapCreate(0, 4096, 0);
@@ -39,13 +39,13 @@ LPVOID STDMETHODCALLTYPE EEHeapAllocInProcessHeap(DWORD dwFlags, SIZE_T dwBytes)
3939
return result;
4040
}
4141

42-
BOOL STDMETHODCALLTYPE EEHeapFreeInProcessHeap(DWORD dwFlags, LPVOID lpMem)
42+
BOOL EEHeapFreeInProcessHeap(DWORD dwFlags, LPVOID lpMem)
4343
{
4444
// return true;
4545
return HeapFree(ourHeap, dwFlags, lpMem);
4646
}
4747

48-
void* STDMETHODCALLTYPE GetCLRFunction(LPCSTR functionName)
48+
void* GetCLRFunction(LPCSTR functionName)
4949
{
5050
if (strcmp(functionName, "EEHeapAllocInProcessHeap") == 0)
5151
return (void*)EEHeapAllocInProcessHeap;

src/ToolBox/superpmi/superpmi/coreclrcallbacks.h

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,8 @@
66
#ifndef _CoreClrCallbacks
77
#define _CoreClrCallbacks
88

9-
#include "runtimedetails.h"
9+
#include "coreclrcommoncallbacks.h"
1010

11-
IExecutionEngine* STDMETHODCALLTYPE IEE_t();
12-
HRESULT STDMETHODCALLTYPE GetCORSystemDirectory(LPWSTR pbuffer, DWORD cchBuffer, DWORD* pdwlength);
13-
LPVOID STDMETHODCALLTYPE EEHeapAllocInProcessHeap(DWORD dwFlags, SIZE_T dwBytes);
14-
BOOL STDMETHODCALLTYPE EEHeapFreeInProcessHeap(DWORD dwFlags, LPVOID lpMem);
15-
void* STDMETHODCALLTYPE GetCLRFunction(LPCSTR functionName);
1611
CoreClrCallbacks* InitCoreClrCallbacks();
1712

18-
#endif
13+
#endif

src/dlls/mscoree/mscoree.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ HINSTANCE g_hThisInst; // This library.
4848

4949
#include <process.h> // for __security_init_cookie()
5050

51-
extern "C" IExecutionEngine* __stdcall IEE();
51+
extern "C" IExecutionEngine* IEE();
5252

5353
#ifdef NO_CRT_INIT
5454
#define _CRT_INIT(hInstance, dwReason, lpReserved) (TRUE)

0 commit comments

Comments
 (0)