Author: hyperion Date: Sat Nov 22 18:20:37 2008 New Revision: 37570
URL: http://svn.reactos.org/svn/reactos?rev=37570&view=rev Log: modified include/reactos/libs/pseh/pseh2.h Make SF_FramePointer field of _SEHFrame_t volatile, too, just to be safe Unoptimized compilation doesn't perform const-folding - "static const" could result in compilation errors, use just "const" Renamed _SEH2_GetExceptionPointers to _SEH2_GetExceptionInformation to be closer to the "standard" SEH syntax
modified lib/pseh/framebased-gcchack.c Clobber the register that's actually used
Modified: trunk/reactos/include/reactos/libs/pseh/pseh2.h trunk/reactos/lib/pseh/framebased-gcchack.c
Modified: trunk/reactos/include/reactos/libs/pseh/pseh2.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/libs/pseh/p... ============================================================================== --- trunk/reactos/include/reactos/libs/pseh/pseh2.h [iso-8859-1] (original) +++ trunk/reactos/include/reactos/libs/pseh/pseh2.h [iso-8859-1] Sat Nov 22 18:20:37 2008 @@ -122,7 +122,7 @@ { _SEHRegistration_t SF_Registration; volatile struct __SEHTryLevel * volatile SF_TopTryLevel; - void * SF_FramePointer; + void * volatile SF_FramePointer; void * volatile SF_StackPointer; volatile unsigned long SF_Code; } @@ -176,7 +176,7 @@ \ _SEHBeginScope: __SEH_SIDE_EFFECT; \ \ - static const int _SEHTopTryLevel = (_SEHScopeKind != 0); \ + const int _SEHTopTryLevel = (_SEHScopeKind != 0); \ _SEHFrame_t * const _SEHCurFrameP = _SEHFrameP; \ volatile _SEHTryLevel_t * const _SEHPrevTryLevelP = _SEHTryLevelP; \ \ @@ -342,7 +342,7 @@ } \ __SEH_END_SCOPE;
-#define _SEH2_GetExceptionPointers() ((struct _EXCEPTION_POINTERS *)_SEHExceptionPointers) +#define _SEH2_GetExceptionInformation() ((struct _EXCEPTION_POINTERS *)_SEHExceptionPointers) #define _SEH2_GetExceptionCode() ((_SEHFrameP)->SF_Code)
#define _SEH2_YIELD(STMT_) \
Modified: trunk/reactos/lib/pseh/framebased-gcchack.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/pseh/framebased-gcchack... ============================================================================== --- trunk/reactos/lib/pseh/framebased-gcchack.c [iso-8859-1] (original) +++ trunk/reactos/lib/pseh/framebased-gcchack.c [iso-8859-1] Sat Nov 22 18:20:37 2008 @@ -154,7 +154,7 @@ "movl %%edx, %%fs:0\n" : : : - "ecx" + "edx" ); }