diff options
author | Pedro Alves <palves@redhat.com> | 2007-05-10 20:39:18 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2007-05-10 20:39:18 +0000 |
commit | bf9148316030a9f3f9b476d9049421864b6551cf (patch) | |
tree | bdacdfb7011253c19436504c7edc28503c8405b0 | |
parent | 24d456905cb3363f926e2df764c590f86a008a18 (diff) | |
download | gdb-bf9148316030a9f3f9b476d9049421864b6551cf.zip gdb-bf9148316030a9f3f9b476d9049421864b6551cf.tar.gz gdb-bf9148316030a9f3f9b476d9049421864b6551cf.tar.bz2 |
* win32-low.c (GETPROCADDRESS): Define.
(winapi_DebugActiveProcessStop): Add WINAPI. typedef as pointer.
(winapi_DebugSetProcessKillOnExit): Likewise.
(win32_create_inferior): Force usage of ansi CreateProcessA.
(win32_attach): Use GETPROCADDRESS.
(win32_detach): Likewise.
-rw-r--r-- | gdb/gdbserver/ChangeLog | 9 | ||||
-rw-r--r-- | gdb/gdbserver/win32-low.c | 55 |
2 files changed, 38 insertions, 26 deletions
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index ef79d0e..b36dcfb 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,5 +1,14 @@ 2007-05-10 Pedro Alves <pedro_alves@portugalmail.pt> + * win32-low.c (GETPROCADDRESS): Define. + (winapi_DebugActiveProcessStop): Add WINAPI. typedef as pointer. + (winapi_DebugSetProcessKillOnExit): Likewise. + (win32_create_inferior): Force usage of ansi CreateProcessA. + (win32_attach): Use GETPROCADDRESS. + (win32_detach): Likewise. + +2007-05-10 Pedro Alves <pedro_alves@portugalmail.pt> + * win32-low.c (win32_wait): Don't use WSTOPSIG. 2007-03-30 Pedro Alves <pedro_alves@portugalmail.pt> diff --git a/gdb/gdbserver/win32-low.c b/gdb/gdbserver/win32-low.c index a0380ca..680cafe 100644 --- a/gdb/gdbserver/win32-low.c +++ b/gdb/gdbserver/win32-low.c @@ -55,6 +55,14 @@ #define COUNTOF(STR) (sizeof (STR) / sizeof ((STR)[0])) #endif +#ifdef _WIN32_WCE +# define GETPROCADDRESS(DLL, PROC) \ + ((winapi_ ## PROC) GetProcAddress (DLL, TEXT (#PROC))) +#else +# define GETPROCADDRESS(DLL, PROC) \ + ((winapi_ ## PROC) GetProcAddress (DLL, #PROC)) +#endif + int using_threads = 1; /* Globals. */ @@ -70,8 +78,8 @@ static int debug_registers_used = 0; #define NUM_REGS (the_low_target.num_regs) -typedef BOOL winapi_DebugActiveProcessStop (DWORD dwProcessId); -typedef BOOL winapi_DebugSetProcessKillOnExit (BOOL KillOnExit); +typedef BOOL WINAPI (*winapi_DebugActiveProcessStop) (DWORD dwProcessId); +typedef BOOL WINAPI (*winapi_DebugSetProcessKillOnExit) (BOOL KillOnExit); #ifndef CONTEXT_EXTENDED_REGISTERS #define CONTEXT_EXTENDED_REGISTERS 0 @@ -462,7 +470,7 @@ win32_create_inferior (char *program, char **program_args) int argc; PROCESS_INFORMATION pi; #ifndef __MINGW32CE__ - STARTUPINFO si = { sizeof (STARTUPINFO) }; + STARTUPINFOA si = { sizeof (STARTUPINFOA) }; char *winenv = NULL; #else wchar_t *wargs, *wprogram; @@ -523,16 +531,16 @@ win32_create_inferior (char *program, char **program_args) NULL, /* start info, not supported */ &pi); /* proc info */ #else - ret = CreateProcess (program, /* image name */ - args, /* command line */ - NULL, /* security */ - NULL, /* thread */ - TRUE, /* inherit handles */ - flags, /* start flags */ - winenv, /* environment */ - NULL, /* current directory */ - &si, /* start info */ - &pi); /* proc info */ + ret = CreateProcessA (program, /* image name */ + args, /* command line */ + NULL, /* security */ + NULL, /* thread */ + TRUE, /* inherit handles */ + flags, /* start flags */ + winenv, /* environment */ + NULL, /* current directory */ + &si, /* start info */ + &pi); /* proc info */ #endif #ifndef USE_WIN32API @@ -573,18 +581,15 @@ static int win32_attach (unsigned long pid) { int res = 0; - winapi_DebugActiveProcessStop *DebugActiveProcessStop = NULL; - - winapi_DebugSetProcessKillOnExit *DebugSetProcessKillOnExit = NULL; + winapi_DebugActiveProcessStop DebugActiveProcessStop = NULL; + winapi_DebugSetProcessKillOnExit DebugSetProcessKillOnExit = NULL; #ifdef _WIN32_WCE HMODULE dll = GetModuleHandle (_T("COREDLL.DLL")); #else HMODULE dll = GetModuleHandle (_T("KERNEL32.DLL")); #endif - DebugActiveProcessStop = (winapi_DebugActiveProcessStop *) - GetProcAddress (dll, _T("DebugActiveProcessStop")); - DebugSetProcessKillOnExit = (winapi_DebugSetProcessKillOnExit *) - GetProcAddress (dll, _T("DebugSetProcessKillOnExit")); + DebugActiveProcessStop = GETPROCADDRESS (dll, DebugActiveProcessStop); + DebugSetProcessKillOnExit = GETPROCADDRESS (dll, DebugSetProcessKillOnExit); res = DebugActiveProcess (pid) ? 1 : 0; @@ -686,17 +691,15 @@ win32_kill (void) static void win32_detach (void) { - winapi_DebugActiveProcessStop *DebugActiveProcessStop = NULL; - winapi_DebugSetProcessKillOnExit *DebugSetProcessKillOnExit = NULL; + winapi_DebugActiveProcessStop DebugActiveProcessStop = NULL; + winapi_DebugSetProcessKillOnExit DebugSetProcessKillOnExit = NULL; #ifdef _WIN32_WCE HMODULE dll = GetModuleHandle (_T("COREDLL.DLL")); #else HMODULE dll = GetModuleHandle (_T("KERNEL32.DLL")); #endif - DebugActiveProcessStop = (winapi_DebugActiveProcessStop *) - GetProcAddress (dll, _T("DebugActiveProcessStop")); - DebugSetProcessKillOnExit = (winapi_DebugSetProcessKillOnExit *) - GetProcAddress (dll, _T("DebugSetProcessKillOnExit")); + DebugActiveProcessStop = GETPROCADDRESS (dll, DebugActiveProcessStop); + DebugSetProcessKillOnExit = GETPROCADDRESS (dll, DebugSetProcessKillOnExit); if (DebugSetProcessKillOnExit != NULL) DebugSetProcessKillOnExit (FALSE); |