<div dir="rtl"><div dir="ltr">This is an outdated version, please download mingw-w64 from <a href="https://sourceforge.net/projects/mingw-w64/">https://sourceforge.net/projects/mingw-w64/</a></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div dir="ltr">2015-08-30 20:57 GMT+03:00 Slycelote <span dir="ltr"><<a href="mailto:slycelot@yandex.ru" target="_blank">slycelot@yandex.ru</a>></span>:</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I use the one from <a href="http://mingw.org" rel="noreferrer" target="_blank">mingw.org</a>, installed by the recommended way with<br>
mingw-get-setup.exe.<br>
<br>
Sly.<br>
<div class="HOEnZb"><div class="h5"><br>
On 30.08.2015 06:10, Yaron Keren wrote:<br>
> Which mingw distribution exactly do you use?<br>
><br>
> 2015-08-30 0:46 GMT+03:00 Slycelote via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>>:<br>
><br>
>> Hi all,<br>
>><br>
>> I'm hitting the same problem as in this[1] thread. I use release_37<br>
>> branch on 64-bit Windows 7.<br>
>> The problem is here:<br>
>><br>
>> #ifdef __MINGW32__<br>
>>  #include <imagehlp.h><br>
>> #else<br>
>>  #include <dbghelp.h><br>
>> #endif<br>
>><br>
>> <skip><br>
>><br>
>> typedef BOOL (WINAPI<br>
>> *fpEnumerateLoadedModules)(HANDLE,PENUMLOADED_MODULES_CALLBACK64,PVOID);<br>
>><br>
>> imagehlp.h doesn't define PENUMLOADED_MODULES_CALLBACK64 type.<br>
>> I fixed it on my side by the patch in the bottom of this email, but I<br>
>> don't know if it's the right approach in general.<br>
>><br>
>> [1] <a href="http://comments.gmane.org/gmane.comp.compilers.clang.user/709" rel="noreferrer" target="_blank">http://comments.gmane.org/gmane.comp.compilers.clang.user/709</a><br>
>><br>
>> -- Sly.<br>
>><br>
>><br>
>> diff --git a/lib/Support/Windows/DynamicLibrary.inc<br>
>> b/lib/Support/Windows/DynamicLibrary.inc<br>
>> index d38f197..b4c8f1b 100644<br>
>> --- a/lib/Support/Windows/DynamicLibrary.inc<br>
>> +++ b/lib/Support/Windows/DynamicLibrary.inc<br>
>> @@ -31,7 +31,16 @@ using namespace sys;<br>
>>  //===          and must not be UNIX code.<br>
>><br>
>>  //===----------------------------------------------------------------------===//<br>
>><br>
>> +#if defined(__MINGW32__) and !defined(_WIN64)<br>
>> +typedef BOOL (WINAPI<br>
>> *fpEnumerateLoadedModules)(HANDLE,PENUMLOADED_MODULES_CALLBACK,PVOID);<br>
>> +static const char* sEnumerateLoadedModules = "EnumerateLoadedModules";<br>
>> +typedef DWORD ModuleOffset;<br>
>> +#else<br>
>>  typedef BOOL (WINAPI<br>
>> *fpEnumerateLoadedModules)(HANDLE,PENUMLOADED_MODULES_CALLBACK64,PVOID);<br>
>> +static const char* sEnumerateLoadedModules = "EnumerateLoadedModules64";<br>
>> +typedef DWORD64 ModuleOffset;<br>
>> +#endif<br>
>> +<br>
>>  static fpEnumerateLoadedModules fEnumerateLoadedModules;<br>
>>  static DenseSet<HMODULE> *OpenedHandles;<br>
>><br>
>> @@ -39,13 +48,13 @@ static bool loadDebugHelp(void) {<br>
>>    HMODULE hLib = ::LoadLibraryW(L"Dbghelp.dll");<br>
>>    if (hLib) {<br>
>>      fEnumerateLoadedModules = (fpEnumerateLoadedModules)<br>
>> -      ::GetProcAddress(hLib, "EnumerateLoadedModules64");<br>
>> +      ::GetProcAddress(hLib, sEnumerateLoadedModules);<br>
>>    }<br>
>>    return fEnumerateLoadedModules != 0;<br>
>>  }<br>
>><br>
>>  static BOOL CALLBACK<br>
>> -ELM_Callback(WIN32_ELMCB_PCSTR ModuleName, DWORD64 ModuleBase,<br>
>> +ELM_Callback(WIN32_ELMCB_PCSTR ModuleName, ModuleOffset ModuleBase,<br>
>>               ULONG ModuleSize, PVOID UserContext) {<br>
>>    OpenedHandles->insert((HMODULE)ModuleBase);<br>
>>    return TRUE;<br>
>><br>
>> _______________________________________________<br>
>> LLVM Developers mailing list<br>
>> <a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
>> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
>><br>
<br>
</div></div></blockquote></div><br></div>