Add back support for older binutils versions

svn path=/trunk/; revision=17900
This commit is contained in:
Gé van Geldorp 2005-09-17 19:38:34 +00:00
parent f47052c1a7
commit 90fedad977
3 changed files with 5 additions and 3 deletions

View file

@ -15,7 +15,7 @@
#define EXCEPTION_NONCONTINUABLE 1
#define EXCEPTION_UNWINDING 2
#define EXCEPTION_EXIT_UNWIND 4
#define EXCEPTION_UNWIND (EXCEPTION_UNWINDING | EXCEPTION_EXIT_UNWIND)
#define EXCEPTION_UNWIND (EXCEPTION_UNWINDING + EXCEPTION_EXIT_UNWIND)
#define STATUS_CALLBACK_POP_STACK 0xC0000423

View file

@ -15,7 +15,7 @@
#define EXCEPTION_UNWINDING 2
#define EXCEPTION_EXIT_UNWIND 4
#define EXCEPTION_UNWIND (EXCEPTION_UNWINDING | EXCEPTION_EXIT_UNWIND)
#define EXCEPTION_UNWIND (EXCEPTION_UNWINDING + EXCEPTION_EXIT_UNWIND)
#define ExceptionContinueExecution 0
#define ExceptionContinueSearch 1

View file

@ -499,7 +499,9 @@ FastRet:
/* We will be cleaning up the stack ourselves */
pop edx /* New Ring 3 EIP */
add esp, 4 /* Skip Ring 3 DS */
and dword ptr [esp], ~X86_EFLAGS_IF /* Remove IRQ hack from EFLAGS */
/* and dword ptr [esp], ~X86_EFLAGS_IF Line below is equivalent to this,
but older binutils versions don't understand ~ */
and dword ptr [esp], 0xfffffdff /* Remove IRQ hack from EFLAGS */
popf /* Restore old EFLAGS */
pop ecx /* Old Ring 3 SS:ESP */