Modified: trunk/reactos/lib/ntdll/main/i386/dispatch.S
Modified: trunk/reactos/lib/rtl/i386/except.s
Modified: trunk/reactos/ntoskrnl/ke/i386/syscall.S
--- trunk/reactos/lib/ntdll/main/i386/dispatch.S 2005-09-17 19:30:05 UTC (rev 17899)
+++ trunk/reactos/lib/ntdll/main/i386/dispatch.S 2005-09-17 19:38:34 UTC (rev 17900)
@@ -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
--- trunk/reactos/lib/rtl/i386/except.s 2005-09-17 19:30:05 UTC (rev 17899)
+++ trunk/reactos/lib/rtl/i386/except.s 2005-09-17 19:38:34 UTC (rev 17900)
@@ -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
--- trunk/reactos/ntoskrnl/ke/i386/syscall.S 2005-09-17 19:30:05 UTC (rev 17899)
+++ trunk/reactos/ntoskrnl/ke/i386/syscall.S 2005-09-17 19:38:34 UTC (rev 17900)
@@ -499,7 +499,9 @@
/* 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 */