Wine's support for reporting calling conventions
Roger Cruz
roger_r_cruz at yahoo.com
Wed Jun 6 06:24:37 CDT 2012
Hi Eric,
Thanks for replying. I saw that in the DWARF spec and I was afraid that DWARF may not provide detailed Info. But I also read in the spec that the compilers use a DWARF extension feature to convey additional info such as calling convention for each routine. Is there a way to coax GCC to output that information? Maybe thru a target plugin?
Thanks
Roger
On Jun 6, 2012, at 3:06 AM, Eric Pouech <eric.pouech at orange.fr> wrote:
> that's a limitation of dwarf format (IIRC, from the specs, you have
> either the default CC for your programming language/ABI, or a specific
> one without defining it further)
> FYII, the codeview format reports correctly this information
> note also that winedbg doesn't support calling functions in the
> debuggee, so this information is actually not used in winedbg
> A+
>
> 2012/6/6, Roger Cruz <roger_r_cruz at yahoo.com>:
>>
>>
>> In dlls/dbghelp/dwarf.c, there is this snippet of code which appears to
>> hard-code the calling convention to CALL_FAR_C. Does Wine not support
>> reporting a function's calling convention correctly then? Is it a
>> limitation of DWARF or just that it is not implemented? I can see that
>> DWARF has a DW_AT_calling_convention field but when I examine a Wine DLL
>> with objdump, it does not show this field in use.
>>
>>
>> /* FIXME: assuming C source code */
>> sig_type = symt_new_function_signature(ctx->module, ret_type,
>> CV_CALL_FAR_C);
>>
>>
>> Thanks
>> Roger
>>
>
>
> --
> --
> Eric Pouech
More information about the wine-devel
mailing list