Yes it's broken and I didn't bother fixing it. At some point, when x64
starts working and mingw-w64 has proper exception handling support (not
sure how far that is), I might have a look at that again though.
I just wanted to know whether it is generally possible to handle that.
So currently there is no need to fix it, but it's good, if it's fixable.
Am 19.07.2013 21:43, schrieb Thomas Faber:
Hmm probably not. When I tried with x64 MSVC, it
didn't go too well (but
MSVC doesn't need rsym).
I thought x64 gcc was broken ages ago? We can probably fix it to work
on x64 if that's actually useful (we we didn't think it was).
On 2013-07-19 10:46, Timo Kreuzer wrote:
>
> Seeing the __x86_64__ change, I wonder: Does the code work with 64 bit
> GCC builds? I mean 64 bit target not 64 bit host.
>
>
> Am 19.07.2013 02:11, schrieb akhaldi(a)svn.reactos.org:
>> Author: akhaldi
>> Date: Fri Jul 19 00:11:08 2013
>> New Revision: 59507
>>
>> URL:
http://svn.reactos.org/svn/reactos?rev=59507&view=rev
>> Log:
>> [DBGHELPHOST]
>> * Fix some warnings. Brought to you by Thomas Faber.
>>
>> Modified:
>> trunk/reactos/dll/win32/dbghelp/compat.h
>> trunk/reactos/dll/win32/dbghelp/symbol.c
>>
>> Modified: trunk/reactos/dll/win32/dbghelp/compat.h
>> URL:
>
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/dbghelp/compat.h…
>>
>
==============================================================================
>> --- trunk/reactos/dll/win32/dbghelp/compat.h
[iso-8859-1] (original)
>> +++ trunk/reactos/dll/win32/dbghelp/compat.h [iso-8859-1] Fri Jul
> 19 00:11:08 2013
>> @@ -15,7 +15,11 @@
>> #define min(x, y) (((x) < (y)) ? (x) : (y))
>> #define max(x, y) (((x) > (y)) ? (x) : (y))
>>
>> +#ifdef __i386__
>> #define CDECL __cdecl
>> +#else
>> +#define CDECL
>> +#endif
>> typedef PVOID IUnknown, IDispatch, IRecordInfo;
>>
>> // windef.h
>> @@ -719,7 +723,6 @@
>>
>> BOOL WINAPI SymEnumerateModulesW64(HANDLE hProcess,
> PSYM_ENUMMODULES_CALLBACKW64 EnumModulesCallback, PVOID UserContext);
>>
>> -#ifndef _LP64
>> typedef struct _tagADDRESS
>> {
>> DWORD Offset;
>> @@ -763,23 +766,6 @@
>> typedef BOOL (CALLBACK *PSYM_ENUMSYMBOLS_CALLBACK)(PCSTR, ULONG,
> ULONG, PVOID);
>> typedef BOOL (CALLBACK *PSYM_ENUMSYMBOLS_CALLBACKW)(PCWSTR, ULONG,
> ULONG, PVOID);
>>
>> -#else
>> -#define ADDRESS ADDRESS64
>> -#define LPADDRESS LPADDRESS64
>> -#define IMAGEHLP_MODULE IMAGEHLP_MODULE64
>> -#define PIMAGEHLP_MODULE PIMAGEHLP_MODULE64
>> -#define IMAGEHLP_MODULEW IMAGEHLP_MODULEW64
>> -#define PIMAGEHLP_MODULEW PIMAGEHLP_MODULEW64
>> -#define PENUMLOADED_MODULES_CALLBACK PENUMLOADED_MODULES_CALLBACK64
>> -#define PFUNCTION_TABLE_ACCESS_ROUTINE PFUNCTION_TABLE_ACCESS_ROUTINE64
>> -#define PTRANSLATE_ADDRESS_ROUTINE PTRANSLATE_ADDRESS_ROUTINE64
>> -#define PSYMBOL_REGISTERED_CALLBACK PSYMBOL_REGISTERED_CALLBACK64
>> -#define PREAD_PROCESS_MEMORY_ROUTINE PREAD_PROCESS_MEMORY_ROUTINE64
>> -#define PGET_MODULE_BASE_ROUTINE PGET_MODULE_BASE_ROUTINE64
>> -#define PSYM_ENUMMODULES_CALLBACK PSYM_ENUMMODULES_CALLBACK64
>> -#define PSYM_ENUMSYMBOLS_CALLBACK PSYM_ENUMSYMBOLS_CALLBACK64
>> -#define PSYM_ENUMSYMBOLS_CALLBACKW PSYM_ENUMSYMBOLS_CALLBACKW64
>> -#endif
>> typedef struct _IMAGEHLP_MODULE64
>> {
>> DWORD SizeOfStruct;
>>
>> Modified: trunk/reactos/dll/win32/dbghelp/symbol.c
>> URL:
>
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/dbghelp/symbol.c…
>>
>
==============================================================================
--- trunk/reactos/dll/win32/dbghelp/symbol.c
[iso-8859-1] (original)
+++ trunk/reactos/dll/win32/dbghelp/symbol.c [iso-8859-1] Fri Jul
19 00:11:08
2013
@@ -70,7 +70,7 @@
DWORD symt_ptr2index(struct module* module, const struct
symt* sym)
> {
> -#ifdef _WIN64
> +#ifdef __x86_64__
> const struct symt** c;
> int len = vector_length(&module->vsymt), i;
>
> @@ -91,7 +91,7 @@
>
> struct symt* symt_index2ptr(struct module* module, DWORD id)
> {
> -#ifdef _WIN64
> +#ifdef __x86_64__
> if (!id-- || id >= vector_length(&module->vsymt)) return NULL;
> return *(struct symt**)vector_at(&module->vsymt, id);
> #else
_______________________________________________
Ros-dev mailing list
Ros-dev(a)reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev