[ros-kernel] SEH

KJK::Hyperion noog at libero.it
Mon Apr 19 02:43:09 CEST 2004


At 01.00 19/04/2004, you wrote:
>Hi, is this article (I just got a hint to) already known?

that approach is very well known. The (known) problems are that 1) you can 
only define SEH frames dynamically on x86 (on all other architectures they 
are generated statically by the compiler, and they contain information only 
available to the compiler, like the size of locals), 2) on most recent 
Windows versions even x86 SEH frames must be resident in a section of the 
executable for security reasons (it was too easy to abuse effectively of 
stack-based handlers), and 3) not being a syntactical construct you miss a 
lot of functionality that you have to reimplement yourself, in a non 
necessarily efficient way (for example, jumping around the body of the 
function must be implemented with setjmp/longjmp, adding a lot of weight to 
the virtually overhead-less __try, and the locals that need to be available 
in the exception filter and handling blocks must be enclosed in a throwaway 
structure) 



More information about the Ros-kernel mailing list