flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
Tomasz Grysztar 24 Aug 2006, 13:17
Exception data? I recall there always was a "Exception" directory in the PE format (you couuld create it with "data 3"), but I never really knew what is it for.
![]() |
|||
![]() |
|
vid 24 Aug 2006, 13:26
yes, it's something like statical SEH info, instead of filling one on-the-run. It's "standard" for PE64, and for WinCE PE files, and maybe others.
search for "In the x86 world, exception handling is stack-based." here: http://msdn.microsoft.com/msdnmag/issues/06/05/x64/default.aspx ugly specs here: http://msdn2.microsoft.com/en-us/library/0kd71y96.aspx limited support for this in MASM described here: http://msdn2.microsoft.com/en-us/library/ms235231.aspx something here: http://www.milw0rm.com/papers/68 this should also go to public, i think |
|||
![]() |
|
vid 24 Aug 2006, 13:29
oh, and how about macros for calling in 64bit mode? i remember you described them somewhere, but can't find it now.
are you aligning stack to 16bytes as required? |
|||
![]() |
|
Tomasz Grysztar 24 Aug 2006, 13:42
There's PROC64.INC in the fasmw package (for quite a long time, the history here: http://board.flatassembler.net/topic.php?t=4209). Yes, it does the 16-byte alignments.
|
|||
![]() |
|
vid 24 Aug 2006, 13:46
think about adding ability to generate exception data to proc macros. Talk with mazegen for some more help (he is very helpful kind btw.)
|
|||
![]() |
|
Tomasz Grysztar 24 Aug 2006, 17:42
But why is it needed in "proc" macro itself?
|
|||
![]() |
|
vid 24 Aug 2006, 22:07
where elsewhere can you collect info about PROCEDURES?
|
|||
![]() |
|
Tomasz Grysztar 24 Aug 2006, 22:54
But which procedures?
I'm against the label-racism that makes some labels more important than others. ![]() Well, just kidding. But I wanted to say: actually I'm completely ignorant and have no idea why something related to exceptions would need information about all my procedures. And is it related to procedure entry points (where the "label discrimination" would happen ![]() |
|||
![]() |
|
vid 25 Aug 2006, 10:44
maybe you could add OPTION to proc macro (like "c" to define __ccall procedure), that will add exception data for this procedure, maybe in style of "idata" macros. Not entire code area has to be covered by these structures, so you use it only when you wish.
Right now i am afraid these data are required in some cases, see end of FASMARM thread. btw, there is also example (for ARM processor) how to build this section. |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2023, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.