Win64 function markup
Andrew Dunstan
a_dunstan at hotmail.com
Wed Dec 27 19:38:58 PST 2006
>Does Yasm support the mandatory function markup required by x86-64 Windows?
>This is the ".pdata" section. I don't see any mention of it in the
>documentation or the mailing list archives.
It supports SECTION .xdata and SECTION .pdata. But you have to fill them
manually, it's not automatic.
>I have yet to find an assembler other than MASM that supports .pdata.
>There's plenty of code for Win64 using other assemblers, but such programs
>are invalid Win64 executables. If an exception occurs in such assembly
>code, even recoverable ones (stack guard page, etc.), the process will
>disappear without an error message. ntdll.dll doesn't display an error
>because it assumes that a buffer overflow has occurred, and that showing a
>message box has a good chance of executing shellcode. This mechanism is
>stronger on Vista than 2003.
AFAIK leaf functions (i.e. doesn't modify non-volatile registers or the
stack) don't require exception handling data. Has this changed for Vista?
More information about the yasm-devel
mailing list