Alexandre Julliard
342e2cabd2
ntdll: Avoid pushl %esp instruction in RtlUnwind prolog.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-09 13:47:01 -06:00
Alexandre Julliard
39c8875ff8
ntdll: Add support for running IL-only .NET executables.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-21 09:55:05 +01:00
Alexandre Julliard
7ccae68f6c
ntdll: Fix crash on nested thread exit.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-06 19:38:30 +01:00
Alexandre Julliard
e7202687fc
ntdll: Remove support for vm86 mode.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-01 22:24:57 +01:00
Alexandre Julliard
9d911a5736
ntdll: Move suspending a thread on startup back to the platform-specific files.
...
This partially reverts f64d2688d2
.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-22 22:26:46 +01:00
Alexandre Julliard
a83532d8dd
ntdll: Store the context on the thread stack after the initial suspend.
...
The initial stack pointer may have been modified during suspend.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-22 22:26:45 +01:00
Alexandre Julliard
5020fb7c47
ntdll: Don't set floating point registers from initial context.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-02 15:52:21 +01:00
Alexandre Julliard
c2f34d1b24
ntdll: Reset the exit frame when switching back to it.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-15 12:36:16 +01:00
Alexandre Julliard
7e9f1878db
ntdll: Run the thread/process detach code on the thread stack.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-14 10:54:56 +01:00
Alexandre Julliard
b526a48a24
ntdll: Pass the stack pointer to virtual_clear_thread_stack().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-04 15:03:55 +01:00
Alexandre Julliard
23ec3ce2a3
ntdll: Start process execution directly at the kernel32 process entry point.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-04 15:03:55 +01:00
Alexandre Julliard
f64d2688d2
ntdll: Move suspending a thread on startup into attach_dlls().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-01 20:32:12 +01:00
Alexandre Julliard
a89fdd58ec
ntdll: Run the entire thread initialization code on the thread stack on i386.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-01 19:18:57 +01:00
Alexandre Julliard
70b69f3e5f
ntdll: Don't return from attach_dlls on failure.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-30 19:06:44 +01:00
Alexandre Julliard
6c61ea6a13
ntdll: Suspend a thread with its start context explicitly before attaching dlls.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-30 12:15:51 +01:00
Alexandre Julliard
53e4c36ef8
ntdll: Add a platform-specific helper for starting a thread.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-29 20:15:30 +01:00
Alexandre Julliard
afb16abc0f
ntdll: Add a platform-specific helper for starting a process.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-29 17:18:23 +01:00
Alexandre Julliard
93eceba03e
ntdll: Move freeing the thread stack to a common helper.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-29 10:43:39 +01:00
Alexandre Julliard
8b929bd759
ntdll: Set the initial process context on i386.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-19 12:14:11 +02:00
Alexandre Julliard
8c103f298b
ntdll: Add support for setting a platform-specific initial context.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-19 12:10:14 +02:00
Alexandre Julliard
3bfd7973a4
ntdll: Don't do partial writes in virtual_uninterrupted_write_memory.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-06 17:31:00 +02:00
Sebastian Lackner
dee9eaa248
ntdll: Fix a TRACE in NtGetContextThread.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-12 11:11:55 +09:00
Alexandre Julliard
bab6ece637
ntdll: Set thread context directly in assembly instead of using generated code.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-26 10:22:05 +02:00
Alexandre Julliard
38d45cbcc8
ntdll: Mark function that are only called from assembly as hidden.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-25 11:48:24 +02:00
Alexandre Julliard
dc63fbf98d
ntdll: Use RtlCaptureContext also in RtlUnwind.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-24 18:58:30 +02:00
Alexandre Julliard
2bb668b1da
ntdll: Get some values from the parent stackframe in RtlCaptureContext.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-24 18:58:30 +02:00
Alexandre Julliard
1c49905182
ntdll: Add an assembly wrapper to return correct values for the current thread in NtGetContextThread.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-24 18:58:29 +02:00
Alexandre Julliard
a75e3f734d
ntdll: Call NtRaiseException directly from RtlRaiseException on i386.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-20 13:54:43 +02:00
Alexandre Julliard
9e59362ae3
ntdll: Move the plaform-specific thread data to the SystemReserved2 TEB field.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-19 19:13:30 +02:00
Alexandre Julliard
f1ef8a4d9d
ntdll: Add platform-specific versions of the thread data structure.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-19 19:13:29 +02:00
Alexandre Julliard
fed30058bb
ntdll: Don't copy cached debug registers from the parent thread.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-18 20:43:32 +02:00
Alexandre Julliard
ce46de5a94
ntdll: Move NtGetContextThread implementation to the platform-specific files.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-18 20:43:32 +02:00
Alexandre Julliard
675e8218f0
ntdll: Move NtSetContextThread implementation to the platform-specific files.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-18 20:43:32 +02:00
Alexandre Julliard
da6ca91e28
ntdll: Remove unnecessary helper to set debug registers.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-18 20:43:32 +02:00
Sebastian Lackner
123185c3a2
ntdll: Set correct number of arguments for breakpoint exceptions.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-19 11:20:12 +09:00
Sebastian Lackner
218bc84e03
ntdll: Mimic Windows behaviour when calling debug service.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-19 00:49:12 +09:00
Henri Verbeet
e65c89f1c5
ntdll: Add special handling for int $0x2d exceptions.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-16 12:09:37 +09:00
Qian Hong
10d080aa8d
ntdll: Silence useless fixme message when handling SIMD floating point invalid operation exception.
...
Signed-off-by: Qian Hong <qhong@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-03 16:23:30 +09:00
Nikolay Sivov
1ea99a8f29
ntdll: Remove unused helper (Clang).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-27 20:53:31 +09:00
Sebastian Lackner
6bec132c7a
ntdll: Try to handle write-watches while we're on the signal stack.
2015-02-27 14:59:08 +09:00
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