From 02a0e528f9cfadcf1003121a95039644657cf6df Mon Sep 17 00:00:00 2001 From: usa Date: Thu, 30 Sep 2010 00:35:23 +0000 Subject: [PATCH] * vm_dump.c (dump_thread): fixed wrong type of return value of SymGetModuleBase64(). [ruby-dev:42306] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29374 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ vm_dump.c | 9 ++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5a45c847d8..e9cd6782b3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu Sep 30 09:34:03 2010 NAKAMURA Usaku + + * vm_dump.c (dump_thread): fixed wrong type of return value of + SymGetModuleBase64(). [ruby-dev:42306] + Wed Sep 29 21:04:05 2010 URABE Shyouhei * test/ruby/test_rubyoptions.rb (TestRubyOptions::test_script_from_stdin): diff --git a/vm_dump.c b/vm_dump.c index 77ce09fc60..f8e3148ac5 100644 --- a/vm_dump.c +++ b/vm_dump.c @@ -661,7 +661,7 @@ dump_thread(void *arg) BOOL (WINAPI *pSymInitialize)(HANDLE, const char *, BOOL); BOOL (WINAPI *pSymCleanup)(HANDLE); BOOL (WINAPI *pStackWalk64)(DWORD, HANDLE, HANDLE, STACKFRAME64 *, void *, PREAD_PROCESS_MEMORY_ROUTINE64, PFUNCTION_TABLE_ACCESS_ROUTINE64, PGET_MODULE_BASE_ROUTINE64, PTRANSLATE_ADDRESS_ROUTINE64); - BOOL (WINAPI *pSymGetModuleBase64)(HANDLE, DWORD64); + DWORD32 (WINAPI *pSymGetModuleBase64)(HANDLE, DWORD64); BOOL (WINAPI *pSymFromAddr)(HANDLE, DWORD64, DWORD64 *, SYMBOL_INFO *); BOOL (WINAPI *pSymGetLineFromAddr64)(HANDLE, DWORD64, DWORD *, IMAGEHLP_LINE64 *); HANDLE (WINAPI *pOpenThread)(DWORD, BOOL, DWORD); @@ -674,7 +674,7 @@ dump_thread(void *arg) pSymInitialize = (BOOL (WINAPI *)(HANDLE, const char *, BOOL))GetProcAddress(dbghelp, "SymInitialize"); pSymCleanup = (BOOL (WINAPI *)(HANDLE))GetProcAddress(dbghelp, "SymCleanup"); pStackWalk64 = (BOOL (WINAPI *)(DWORD, HANDLE, HANDLE, STACKFRAME64 *, void *, PREAD_PROCESS_MEMORY_ROUTINE64, PFUNCTION_TABLE_ACCESS_ROUTINE64, PGET_MODULE_BASE_ROUTINE64, PTRANSLATE_ADDRESS_ROUTINE64))GetProcAddress(dbghelp, "StackWalk64"); - pSymGetModuleBase64 = (BOOL (WINAPI *)(HANDLE, DWORD64))GetProcAddress(dbghelp, "SymGetModuleBase64"); + pSymGetModuleBase64 = (DWORD32 (WINAPI *)(HANDLE, DWORD64))GetProcAddress(dbghelp, "SymGetModuleBase64"); pSymFromAddr = (BOOL (WINAPI *)(HANDLE, DWORD64, DWORD64 *, SYMBOL_INFO *))GetProcAddress(dbghelp, "SymFromAddr"); pSymGetLineFromAddr64 = (BOOL (WINAPI *)(HANDLE, DWORD64, DWORD *, IMAGEHLP_LINE64 *))GetProcAddress(dbghelp, "SymGetLineFromAddr64"); pOpenThread = (HANDLE (WINAPI *)(DWORD, BOOL, DWORD))GetProcAddress(GetModuleHandle("kernel32.dll"), "OpenThread"); @@ -727,10 +727,9 @@ dump_thread(void *arg) DWORD64 addr = frame.AddrPC.Offset; IMAGEHLP_LINE64 line; - if (addr == frame.AddrReturn.Offset || - addr == 0 || frame.AddrReturn.Offset == 0) { + if (addr == frame.AddrReturn.Offset || addr == 0 || + frame.AddrReturn.Offset == 0) break; - } memset(buf, 0, sizeof(buf)); info->SizeOfStruct = sizeof(SYMBOL_INFO);