André Hentschel
550f556dca
ntdll: Remove unused macros.
2014-12-09 19:36:06 +01:00
Sebastian Lackner
1c1e7ed016
ntdll: Add support for ATL thunk 'POP ecx; POP eax; PUSH ecx; JMP 4(%eax)'.
2014-10-21 18:51:05 +09:00
Sebastian Lackner
dcd2b0a366
ntdll: Add support for ATL thunk 'MOV this,ecx; MOV func,eax; JMP eax'.
2014-10-21 18:51:04 +09:00
Sebastian Lackner
40472cd3a7
ntdll: Add support for ATL thunk 'MOV this,edx; MOV func,ecx; JMP ecx'.
2014-10-21 18:51:02 +09:00
Sebastian Lackner
aab0d25a49
ntdll: Add support for ATL thunk 'MOV this,ecx; JMP func'.
2014-10-21 18:50:59 +09:00
Sebastian Lackner
34b2d920b4
ntdll: Improve check_atl_thunk to prevent passing exceptions to the usermode application.
2014-10-15 11:52:06 +09:00
Sebastian Lackner
1c957ceb96
ntdll: Only check for ATL thunk if allowed by execute option flags.
...
Checking for ATL thunks can be disabled by setting MEM_EXECUTE_OPTION_DISABLE_THUNK_EMULATION.
2014-10-13 18:31:26 +09:00
Sebastian Lackner
0cf3d78167
ntdll: Avoid recursive exception handler calls when handling guard pages.
...
The ATL check leads to problems when a page is protected with guard page protection.
raise_segv_exception is called with EXCEPTION_EXECUTE_FAULT. The ATL check tries to
read the memory, and triggers another exception handler. This time the virtual_handle_fault
check is executed, and removes the guard page protection. Afterwards, when the ATL
check returns, the exception is _not_ catched by virtual_handle_fault, but instead
passed to the application.
2014-10-13 18:31:06 +09:00
Francois Gouget
09ffb97fdd
ntdll: Fix the compilation by using the right mcontext_t field names for the signal context on FreeBSD.
2014-07-24 19:24:41 +02:00
Alexandre Julliard
69d198a9eb
ntdll: Use the standard mcontext_t type for the signal context on Android.
2014-07-23 21:24:18 +02:00
Alexandre Julliard
775263aa5c
ntdll: Directly use ucontext_t instead of SIGCONTEXT on all platforms.
2014-07-23 19:07:00 +02:00
Alexandre Julliard
8d817997ce
configure: Add a check for sys/ucontext.h and include it where appropriate.
2014-07-23 19:06:58 +02:00
Alexandre Julliard
1b1ea639cd
ntdll: Use a custom signal restorer for Android.
...
Bionic doesn't provide one, even when vdso has been unmapped by the
preloader.
2014-07-17 14:51:12 +02:00
Austin English
1a988fa465
ntdll: Make sure flags are preserved in raise_trap_exception().
2014-04-15 21:03:55 +02:00
André Hentschel
5865fe78de
ntdll: Add signal definitions for GNU/Hurd.
...
Partially based on a patch by Andrew Nguyen.
2014-01-06 17:10:05 +01:00
Frédéric Delanoy
7e63200672
ntdll: Use BOOL type where appropriate.
2013-11-01 10:52:42 +01:00
Alexandre Julliard
f8cdbecc25
ntdll: Add context definitions missing from the Android NDK.
2013-07-30 14:43:31 +02:00
Marcus Meissner
fc179497bd
kernel32: Use the correct pointer size in atl thunk (Coverity).
2013-02-18 10:31:22 +01:00
Alexandre Julliard
64ddb263d2
ntdll: Check for invalid %gs value in 32-bit code.
...
Suggested by Alessandro Pignotti.
2013-02-12 19:56:39 +01:00
Alexandre Julliard
99d89b347f
ntdll: Add a helper function to check that a fault address lies in a known virtual memory view.
2013-02-12 19:56:19 +01:00
André Hentschel
1013d2e75c
ntdll: Enhance FreeBSD checks to also check for DragonFly BSD when appropriate.
2012-06-04 12:17:54 +02:00
Austin English
132da2c428
ntdll: Give a better error message if signal context functions aren't defined.
2012-04-10 16:21:27 +02:00
Alexandre Julliard
aa55603b73
ntdll: Move the _chkstk implementation to signal_i386.c.
2012-04-02 12:46:38 +02:00
Alexandre Julliard
62b7069fa9
ntdll: Unwind the stack before calling exit/abort_thread on i386 the same way we do on x86_64.
2011-10-19 16:38:52 +02:00
André Hentschel
f73ee0a249
ntdll: Add check for DragonFly BSD.
2011-03-28 17:30:20 +02:00
Alexandre Julliard
efbe695147
ntdll: Add a helper function for checking stack frame limits.
2011-02-01 12:38:58 +01:00
Alexandre Julliard
43682ce114
ntdll: Avoid copying and restoring the context in RtlCaptureContext for i386.
2011-02-01 12:38:58 +01:00
Alexandre Julliard
c865b3f8e0
ntdll: Fix frame address check in RtlCaptureStackBackTrace to match what RtlUnwind does.
2011-01-31 14:30:26 +01:00
Austin English
9832bd6c54
ntdll: Add missing checks for FreeBSD_kernel.
2011-01-17 14:27:38 +01:00
Alexandre Julliard
085d398302
ntdll: Avoid using the CONTEXT86 type.
2010-10-20 18:37:07 +02:00
Alexandre Julliard
0db65fd36e
ntdll: Fix the initial FPU control word on 32-bit too.
2010-06-22 11:19:02 +02:00
Henri Verbeet
772a5c7c09
ntdll: The FPU control word for newly created threads is 0x27f.
...
This fixes a regression introduced by
e6611e22fb
.
2010-06-17 11:50:23 +02:00
Maarten Lankhorst
8734d5b9ac
ntdll: Clear alignment flag in exception handlers.
2010-04-20 11:15:11 +02:00
Alexandre Julliard
c09df80620
ntdll: Always restore the context after an exception even if setting the debug registers fails.
2010-03-05 12:25:34 +01:00
Alexandre Julliard
102dd9e92f
winebuild: Rename __wine_call_from_32_regs for consistency with 64-bit.
2010-01-16 15:41:48 +01:00
Alexandre Julliard
82f393dda1
ntdll: Move the LDT locking functions to the i386-specific code.
2009-12-30 18:05:02 +01:00
Alexandre Julliard
16ddc62405
ntdll: Merge the thread data and thread regs structure, and make sure i386 regs are not available on other platforms.
2009-11-19 12:27:09 +01:00
Alexandre Julliard
aced1b82ba
ntdll: Move initialization of the debug registers to signal_i386.c.
2009-11-19 12:26:21 +01:00
Alexandre Julliard
d4f1fffacc
ntdll: Moved the TEB allocation routines to the platform-specific files.
2009-11-19 12:25:52 +01:00
Alexandre Julliard
d90f691e58
ntdll: Implemented RtlCaptureStackBackTrace for i386.
2009-11-11 17:38:18 +01:00
Alexandre Julliard
d45fca8f7c
ntdll: Moved RtlCaptureStackBackTrace stub to the cpu-specific files.
2009-11-11 17:19:23 +01:00
Alexandre Julliard
44ed5c0423
ntdll: Use the exception code as exit status when no debugger is present.
2009-10-13 14:15:27 +02:00
Alexandre Julliard
9585bf6700
ntdll: Remap EXCEPTION_EXECUTE_FAULT only after the internal handlers have been run.
2009-09-23 14:20:17 +02:00
Alexandre Julliard
8101a2fa1e
ntdll: Move the abort_thread() function to the CPU-specific files to allow redefining it.
2009-08-28 11:54:50 +02:00
Michael Karcher
9476071fd2
ntdll: Don't send EXCEPTION_EXECUTE_FAULT to Windows programs that didn't enable DEP.
2009-08-18 11:19:46 +02:00
Alexandre Julliard
0c46341543
ntdll: Add call frame annotations in x86 assembly code.
2009-06-25 12:05:09 +02:00
Alexandre Julliard
0610549529
ntdll: Move all thread exit processing to exit_thread(), and make RtlExitUserThread() CPU-specific.
2009-06-18 17:06:21 +02:00
Alexandre Julliard
f124c7cc38
ntdll: Simplify the thread startup routine and make it CPU-specific.
2009-06-18 17:01:44 +02:00
Alexandre Julliard
e65ebee63f
ntdll: Add appropriate stdcall decorations to assembly functions.
2009-06-15 13:42:26 +02:00
Alexandre Julliard
c5a57e7d13
ntdll: Move NtRaiseException and RtlUnwind implementations to the CPU-specific files.
2009-04-30 13:23:15 +02:00