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