[ros-kernel] Macro SEH support ported - sort of

Vizzini vizzini at plasmic.com
Mon Nov 17 18:32:36 CET 2003


On Sun, 2003-11-09 at 23:42, Filip Navara wrote:
> Hi!
> 
> ----- Original Message ----- 
> From: "KJK::Hyperion" <noog at libero.it>
> To: "ReactOS Kernel List" <ros-kernel at reactos.com>
> Sent: Sunday, November 09, 2003 10:19 PM
> Subject: Re: [ros-kernel] Macro SEH support ported - sort of
> 
> 
> > Where did you find documentation for the %c<number> replaceable?
> 
> Gccint.info that comes with my compiler. I am not sure where to get it
> separately, but I think it's present in GCC CVS.
> 
> > anyway, I don't like the use of asm labels, as this makes impossible to
> > use TRY..EXCEPT twice in the same compilation unit (does it?).
> 
> You're right. The asm labels must be replaced, but unfortunetly I don't know
> the correct way. There's mention in manual about '%lDIGIT' to pass labels,
> but I am not sure how to specify the label itself (in the third argument to
> asm).
> 
> > Finally, I have found the problem: line 126 doesn't subtract 736 from esp,
> > but subtracts esp from the doubleword located at 736. There were five
> > other such bugs in the code. After correcting them, the test code works
> > correctly when the filter returns EXCEPTION_EXECUTE_HANDLER.
> > I tried EXCEPTION_CONTINUE_SEARCH, but the instruction at line 188
> > doesn't appear to set the stack pointer correctly - the ret at line 191
> > returns to an address on the stack. The same goes for
> > EXCEPTION_CONTINUE_EXECUTION, but the affected lines are
> > different (227 and 230)
> 
> Good job finding this.
> 
> Filip


All,

Are there any GCC inline assembly gurus lurking out there have any
interest in chipping in and finishing this off?  SEH support for, e.g.,
syscalls, is going to be absolutely critical for us to be able to claim
to have a stable system.  I don't see going to 0.2 without this.

Thanks.

 -Vizzini




More information about the Ros-kernel mailing list