[PATCH] programs: Fix compilation on win64
mlankhorst
mlankhorst at dhcp-172-29-61-127.smo.corp.google.com
Fri Nov 28 18:07:21 CST 2008
---
programs/rpcss/epmp.c | 7 ++++---
programs/rpcss/irotp.c | 8 +++++---
programs/rpcss/rpcss_main.c | 11 +++++++++++
3 files changed, 20 insertions(+), 6 deletions(-)
diff --git a/programs/rpcss/epmp.c b/programs/rpcss/epmp.c
index d7712b9..347130f 100644
--- a/programs/rpcss/epmp.c
+++ b/programs/rpcss/epmp.c
@@ -39,14 +39,15 @@ struct registered_ept_entry
static struct list registered_ept_entry_list = LIST_INIT(registered_ept_entry_list);
-static CRITICAL_SECTION csEpm;
+const char DECLSPEC_HIDDEN csEpm_name[] = (__FILE__ ": csEpm");
+CRITICAL_SECTION DECLSPEC_HIDDEN csEpm;
static CRITICAL_SECTION_DEBUG critsect_debug =
{
0, 0, &csEpm,
{ &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
- 0, 0, { (DWORD_PTR)(__FILE__ ": csEpm") }
+ 0, 0, { 0,0 /* Name is set in main() */ }
};
-static CRITICAL_SECTION csEpm = { &critsect_debug, -1, 0, 0, 0, 0 };
+CRITICAL_SECTION DECLSPEC_HIDDEN csEpm = { &critsect_debug, -1, 0, 0, 0, 0 };
static const UUID nil_object;
diff --git a/programs/rpcss/irotp.c b/programs/rpcss/irotp.c
index 6f32205..6db6644 100644
--- a/programs/rpcss/irotp.c
+++ b/programs/rpcss/irotp.c
@@ -46,14 +46,16 @@ struct rot_entry
static struct list RunningObjectTable = LIST_INIT(RunningObjectTable);
-static CRITICAL_SECTION csRunningObjectTable;
+const char DECLSPEC_HIDDEN csROT_name[] = (__FILE__ ": csRunningObjectTable");
+CRITICAL_SECTION DECLSPEC_HIDDEN csRunningObjectTable;
+
static CRITICAL_SECTION_DEBUG critsect_debug =
{
0, 0, &csRunningObjectTable,
{ &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
- 0, 0, { (DWORD_PTR)(__FILE__ ": csRunningObjectTable") }
+ 0, 0, { 0, 0 /* Initialized in main() */ }
};
-static CRITICAL_SECTION csRunningObjectTable = { &critsect_debug, -1, 0, 0, 0, 0 };
+CRITICAL_SECTION csRunningObjectTable = { &critsect_debug, -1, 0, 0, 0, 0 };
static LONG last_cookie = 1;
diff --git a/programs/rpcss/rpcss_main.c b/programs/rpcss/rpcss_main.c
index ad5dd58..2b2bd68 100644
--- a/programs/rpcss/rpcss_main.c
+++ b/programs/rpcss/rpcss_main.c
@@ -62,6 +62,12 @@ static HANDLE exit_event;
extern HANDLE __wine_make_process_system(void);
+extern const char DECLSPEC_HIDDEN csEpm_name[];
+extern CRITICAL_SECTION DECLSPEC_HIDDEN csEpm;
+extern const char DECLSPEC_HIDDEN csROT_name[];
+extern CRITICAL_SECTION DECLSPEC_HIDDEN csRunningObjectTable;
+
+
static BOOL RPCSS_Initialize(void)
{
static unsigned short irot_protseq[] = IROT_PROTSEQ;
@@ -128,6 +134,11 @@ static BOOL RPCSS_Shutdown(void)
int main( int argc, char **argv )
{
+ /* Set missing critical section names */
+ *(DWORD_PTR*)&csEpm.DebugInfo->Spare[0] = (DWORD_PTR)csEpm_name;
+ *(DWORD_PTR*)&csRunningObjectTable.DebugInfo->Spare[0] =
+ (DWORD_PTR)csROT_name;
+
/*
* We are invoked as a standard executable; we act in a
* "lazy" manner. We register our interfaces and endpoints, and hang around
--
1.5.6.5
--------------020206040908060101010103--
More information about the wine-patches
mailing list