Martin Storsjo
3395ee3631
ntdll: Fix more corner cases for arm64 packed info unwinding.
...
Make sure to restore sp from fp for CR == 3.
Fix unwinding of partial prologues/epilogues - the previous logic
had an off-by-one for the pos/skip handling; fix a few more
corner cases with odd number of saved registers.
Functions with the H flag set (saving x0-x7 on the stack) should
be considred having 4 nops (for the instructions saving the
registers) in the prologue for unwind purposes. When unwinding
through a partial epilogue, the same 4 nops should also be
considered to be there (even though no sane epilogue would restore
the registers there) based on how windows handles partial epilogue
unwinding in those cases.
Uncomment prologue/epilogue cases in an existing test and add
tests for many more cases.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-07 21:08:26 +02:00
Alexandre Julliard
cc9d69b20b
ntdll: Pop the Unix stack completely in call_user_apc_dispatcher().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-04 21:16:49 +02:00
Martin Storsjo
36ebdfc6b6
ntdll: Add ARM64 SEH unwind directives for assembly functions in PE builds.
...
This fixes unwinding through RtlRaiseException and
call_consolidate_callback in PE builds.
Adjust the call_consolidate_callback function to store the whole
context on the stack, and use the seh "context" opcode for
unwinding to that context instead of the parent. Adjust the dwarf
escape codes for reading from the context on the stack.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-04 15:47:27 +02:00
Martin Storsjo
5bbd8130ad
ntdll: Don't truncate SP in arm64 handle_syscall_fault.
...
This seems to be a copypaste typo from 0b3db9dfa2
.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-04 15:42:18 +02:00
Martin Storsjo
d99a454a6b
ntdll: Fix arm64 regression from "Clear the syscall frame on return".
...
The restoring of registers in call_user_exception_dispatcher
was broken in 75e616d52b
.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-04 15:42:15 +02:00
Alexandre Julliard
2d91f7def1
ntdll: Load libwine dynamically.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-03 12:30:41 +02:00
Alexandre Julliard
4e80f2ea5e
ntdll: Add a helper function to try an mmap at a fixed address.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-03 10:54:17 +02:00
Alexandre Julliard
72b97eeba0
ntdll: Add a helper function for memory allocations through mmap().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-03 10:52:11 +02:00
Alexandre Julliard
74deee7df0
ntdll: Add a helper function for fixed anonymous mmaps.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-03 10:51:09 +02:00
Paul Gofman
61f3b3dcdf
ntdll/tests: Add tests for capturing context with xstate.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-02 16:30:04 +02:00
Paul Gofman
30e5250622
ntdll: Implement saving AVX registers in NtGetContextThread().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-02 16:30:04 +02:00
Alexandre Julliard
5b4b877488
ntdll: Move the reserved area functions to avoid forward declarations.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-02 16:30:03 +02:00
Alexandre Julliard
7b96e82fd5
ntdll: Make the reserved area functions static.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-02 16:30:03 +02:00
Alexandre Julliard
4c45348f78
ntdll: Get rid of the exec_process() Unix library callback.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-02 15:24:01 +02:00
Alexandre Julliard
f51cd0a1b5
ntdll: Use the process parameters directly in exec_process().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-02 15:09:33 +02:00
Alexandre Julliard
52e9baddbc
ntdll: Move the NT path conversion for exec process to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-02 14:46:14 +02:00
Alexandre Julliard
9e973954fd
ntdll: Get rid of the server_init_process_done() Unix library callback.
...
This time without setting Eip to 0.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-01 18:40:08 +02:00
Alexandre Julliard
f7e4fd0cf8
kernel32: Remove the no longer used __wine_start_process() function.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-01 16:41:03 +02:00
Alexandre Julliard
c2c330532e
ntdll: Call the process entry point through RtlUserThreadStart().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-01 16:41:03 +02:00
Alexandre Julliard
1a9558cf9b
ntdll: Call the thread entry point through BaseThreadInitThunk().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-01 16:41:03 +02:00
Paul Gofman
81a08cea79
kernel32: Implement CopyContext().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-01 12:34:43 +02:00
Paul Gofman
85a33ff731
kernel32: Implement GetXStateFeaturesMask().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-01 12:33:47 +02:00
Paul Gofman
541b06747a
kernel32: Implement SetXStateFeaturesMask().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-01 12:33:44 +02:00
Louis Lenders
518d06404a
ntdll: RtlConvertToAutoInheritSecurityObject is NTSTATUS, not BOOL.
...
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-31 22:09:20 +02:00
Paul Gofman
8aa370e991
ntdll: Clear CONTEXT_XSTATE flag in RtlUnwindEx().
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49749
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-31 21:41:07 +02:00
Paul Gofman
3803997349
ntdll: Implement RtlLocateLegacyContext().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-31 21:41:06 +02:00
Paul Gofman
ff88ed8b06
kernel32: Implement LocateXStateFeature().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-31 21:41:06 +02:00
Paul Gofman
2d544ff8a0
kernel32: Implement InitializeContext[2]().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-31 21:41:06 +02:00
Paul Gofman
2de4f12b33
ntdll: Implement RtlGetExtendedContextLength().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-31 21:41:06 +02:00
Alexandre Julliard
2b40969c58
kernel32: Move the initial process breakpoint to LdrInitializeThunk().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-31 11:36:24 +02:00
Alexandre Julliard
2b9a0550bc
Revert "ntdll: Get rid of the server_init_process_done() Unix library callback."
...
This partially reverts commit 1581fb619b
.
Steam wants Eip to be valid even before LdrInitializeThunk.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-28 21:08:45 +02:00
Alexandre Julliard
3863b243fe
ntdll: Clear the thread stack by hand instead of remapping zero pages.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-27 12:24:05 +02:00
Alexandre Julliard
75e616d52b
ntdll: Clear the syscall frame on return instead of popping the previous one.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-27 12:14:35 +02:00
Alexandre Julliard
65c37cee24
ntdll: Use exported APIs instead of virtual_map_section() to load PE modules.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-26 14:16:54 +02:00
Alexandre Julliard
1581fb619b
ntdll: Get rid of the server_init_process_done() Unix library callback.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-26 13:04:09 +02:00
Martin Storsjo
a9639dd605
ntdll: Capture vector registers in arm64 RtlCaptureContext.
...
Since 5b3842451b
we set the flag indicating that the context
contained float registers, but we didn't actually populate them yet.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-25 19:31:44 +02:00
Martin Storsjo
99a6ae5b86
ntdll: Fix arm64 jump buffer float restoration.
...
Fix a typo in copying fields from the jump buffer to the context,
use the right type of long in the struct.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-25 19:31:44 +02:00
Alexandre Julliard
a8ddcf7dfe
ntdll: Use syscalls for a couple of Wine internal functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-25 19:31:43 +02:00
Alexandre Julliard
af1a328fa0
ntdll: Use syscalls for the Wine version functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-25 19:31:43 +02:00
Alexandre Julliard
482b64effd
ntdll: Use syscalls for the file path conversion functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-25 13:57:19 +02:00
Alexandre Julliard
4e5811637a
ntdll: Use syscalls for the server functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-25 13:55:40 +02:00
Martin Storsjo
a12e308eba
ntdll/tests: Add a larger testcase covering most arm64 unwinding opcodes.
...
These all seem to be implemented correctly as no changes to the
wine implementation is needed.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-25 13:34:31 +02:00
Martin Storsjo
bc3284f818
ntdll: Implement the arm64 machine frame and context unwind opcodes.
...
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-25 13:34:31 +02:00
Martin Storsjo
41d1fd3229
ntdll/tests: Support testing float registers in the arm64 virtual unwind test.
...
Only testing d0-d15, not d16-d31, for keeping the test references
a bit smaller.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-25 13:34:31 +02:00
Martin Storsjo
8c0c70dd0f
ntdll/tests: Add defines for the complete set of arm64 unwidning opcodes.
...
Also correct the previous definition of UWOP_NOP which was a typo
(but it wasn't used in any testcase yet).
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-25 13:21:07 +02:00
Martin Storsjo
a729af0e9c
ntdll: Set handler_data correctly in arm64 RtlVirtualUnwind.
...
This matches what tests show is done on actual windows, in the
current testcases; in all currently tested cases, handler_data is
reset to NULL when no handler is returned.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-25 13:21:01 +02:00
Zebediah Figura
aaea13a128
server: Report named pipe device files as type "File".
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-24 22:14:44 +02:00
Arkadiusz Hiler
9012096b47
Revert "ntdll/tests: Add test to check if GetTickCount is updated after sleeping.".
...
This reverts commit 4617f83fcf
.
The assumption that GetTickCount() gets updated after Sleep(1) holds only
when there is no other software running on the system. If any program uses
timeBeginPeriod() with values 1-15 then this assumption breaks.
A lot of common user software calls timeBeginPeriod() - this includes browsers,
media players, voice communicators, IDEs and store fronts.
Signed-off-by: Arkadiusz Hiler <ahiler@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-24 22:14:44 +02:00
Alexandre Julliard
97847eeee8
ntdll: Avoid referencing winecrt0 exception handlers from the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-24 22:14:44 +02:00
Alexandre Julliard
6844ff8a0b
ntdll: Stop resolving imports for the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-24 22:14:44 +02:00
Alexandre Julliard
0b3db9dfa2
ntdll: Handle page faults happening during a syscall without dispatching the exception.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-24 11:46:22 +02:00
Zebediah Figura
8bd95a80f2
ntdll: Read the condition variable and manipulate the lock on the PE side.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49712
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-24 11:17:04 +02:00
Paul Gofman
057e7f1940
ntdll: Also save unwind info for rbp in call_consolidate_callback() on x64.
...
Fixes Bloons TD 6 crash on start.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-24 11:16:40 +02:00
Martin Storsjo
32c618b7c5
ntdll: Add initial tests for arm64 RtlVirtualUnwind.
...
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-24 11:16:03 +02:00
Paul Gofman
601175822e
ntdll: Restore AVX registers in NtSetContextThread() on i386.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-21 16:54:39 +02:00
Paul Gofman
9aa885bf37
ntdll: Support AVX context in fault exceptions on Linux i386.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-21 16:54:38 +02:00
Paul Gofman
2c3719c7a9
ntdll: Restore AVX registers in NtSetContextThread() on x86_64.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-21 16:54:38 +02:00
Paul Gofman
16ed88a952
ntdll: Support AVX context in fault exceptions on Linux x86_64.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-21 16:54:38 +02:00
Paul Gofman
3f562e0b91
ntdll/tests: Add test for xstate in extended context.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-21 15:36:49 +02:00
Martin Storsjo
5b3842451b
include: Update ARM64 context flag definitions to match current SDKs.
...
CONTEXT_FLOATING_POINT should be included in CONTEXT_FULL, and
there's a new flag CONTEXT_ARM64_X18 (not available without
the arch specific prefix) that only is part of CONTEXT_ALL.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-21 15:01:56 +02:00
Paul Gofman
a4af2b2b70
kernel32: Implement GetEnabledXStateFeatures().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-20 21:14:15 +02:00
Paul Gofman
97b5ad7597
wineboot: Initialize XState features in user_shared_data.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-20 18:50:02 +02:00
Paul Gofman
de1cb029f6
include: Define _XSAVE_FORMAT structure.
...
The structure is defined for both x86_64 and i386 (along with
M128A) in (newer) Windows SDK.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-20 18:49:38 +02:00
Paul Gofman
25d4c50db3
ntdll: Remove redundant ldmxcsr in set_full_cpu_context() on x86_64.
...
Mxcsr will be overwritten anyway by consequent fxrstor.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-20 18:49:26 +02:00
Alexandre Julliard
77fbf3a9fd
ntdll: Unwind the syscall frame in NtSetContextThread().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-20 18:45:53 +02:00
Alexandre Julliard
a686759f1d
ntdll: Unwind the syscall frame when calling KiUserApcDispatcher().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-20 18:45:53 +02:00
Alexandre Julliard
53e0bf2f9f
ntdll: Don't expect LdrInitializeThunk() to return to the Unix side.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-20 18:45:53 +02:00
Alexandre Julliard
4a7cd0f492
ntdll: Call NtContinue() from LdrInitializeThunk() instead of returning.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-20 18:23:44 +02:00
Paul Gofman
f332f2e4e2
ntdll: Don't transfer xmm registers explicitly during context save and restore on x64.
...
fxsave / fxrstor already do that.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-19 10:16:57 +02:00
Paul Gofman
525e7078a8
ntdll: Report newer vector processor features on x86 / x64.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-19 10:15:45 +02:00
Martin Storsjo
8f3bd63b52
ntdll: Fix arm64 sigcontext access for darwin.
...
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-18 22:33:39 +02:00
Martin Storsjo
7f8224411c
ntdll: Fix the arm64 use of libunwind for macOS.
...
MacOS uses the LLVM libunwind, which doesn't expose quite as much
internals of the cursor as GNU libunwind, and uses slightly different
names for the arch specific register enums (for get/set registers).
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-18 22:33:34 +02:00
Martin Storsjo
cffd06ea67
ntdll: Trust libunwind's returned pc value on arm64.
...
Use this instead of manually copying LR to PC. With GNU libunwind,
both registers are equal after unw_step.
With the LLVM libunwind (which Apple uses), the return address isn't
reflected at all in LR, only in UNW_REG_IP.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-18 22:32:27 +02:00
Serge Gautherie
743ed29af5
winapi_test: Update generated.c files.
...
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-14 22:04:03 +02:00
Martin Storsjo
e8f2c2464a
ntdll: Only call putenv() if we are going to call exec().
...
If we aren't going to exec (if pre_exec() returns zero), we will
continue using the envp pointer we got from the caller. However,
the putenv() call does update the environment, and this can in
some cases overwrite the array that the old (stale, potentially
dangling) envp pointer points to.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-14 22:04:02 +02:00
Martin Storsjo
00b4a51fcc
ntdll: Remove a stray duplicate instruction.
...
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-14 22:02:04 +02:00
Paul Gofman
71090bdc2f
ntdll: Don't mind epilog in RtlVirtualUnwind() in case of zero op count on x64.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-14 22:02:04 +02:00
Paul Gofman
ae07938ba6
ntdll: Support nested exceptions on x64.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-14 22:02:04 +02:00
Paul Gofman
c76dc32fef
ntdll: Fix unwind from call_consolidate_callback() for PE build on x64.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49698
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-13 12:28:32 +02:00
Paul Gofman
76556bc588
ntdll: Support UWOP_PUSH_MACHFRAME opcode in RtlVirtualUnwind() on x64.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-13 12:27:03 +02:00
Paul Gofman
d4052e0d70
ntdll/tests: Always remove hook trampoline in test_kiuserexceptiondispatcher().
...
As it is not removed by the hook itself if the hook is not called in the last
test.
Fixes test failures on Win 2003.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-13 12:26:34 +02:00
Rémi Bernon
26c078a2a6
ntdll/tests: Run RtlRaiseException tests on x86_64.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-12 11:04:40 +02:00
Rémi Bernon
94ee270972
ntdll/tests: Add broken FltSave results for w2008 / w8.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-12 11:00:46 +02:00
Rémi Bernon
f804d1ac70
ntdll/tests: Fix w2008 debugger test results.
...
Changing Eip has an effect there, so offset it just a little bit so that
it still falls within code.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-12 11:00:42 +02:00
Brendan Shanks
fd80e0300c
ntdll: Pad HEAP structure so 'flags' offset matches recent Windows.
...
Needed for Red Dead Redemption 2 to pass anti-debugger checks, it
accesses 'flags' and 'force_flags' at a fixed offset of the ProcessHeap.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49666
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-11 18:20:20 +02:00
Alexandre Julliard
9b7f14f1b4
ntdll: Unwind the syscall frame when calling KiRaiseUserExceptionDispatcher().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-11 17:56:10 +02:00
Alexandre Julliard
1e7e21534e
ntdll: Unwind the syscall frame when calling KiUserExceptionDispatcher().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-11 17:56:10 +02:00
Alexandre Julliard
13abe9e2bd
ntdll/tests: Run exception tests under the debugger on all platforms.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-11 17:56:10 +02:00
Serge Gautherie
99c0ab2ea1
winapi_test: Restore horizontal alignment of macro defines.
...
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-10 21:26:15 +02:00
Serge Gautherie
c26d7470cc
winapi_test: Horizontally align TEST_TYPE_SIGNED() parameter.
...
Signed-off-by: Serge Gautherie <reactos-git_serge_171003@gautherie.fr>
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-10 21:25:56 +02:00
Alexandre Julliard
7a71f98640
ntdll: Use KiUserApcDispatcher() to call user APCs.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-06 19:31:24 +02:00
Alexandre Julliard
2a08e0e290
ntdll: Implement KiUserApcDispatcher().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-06 19:31:06 +02:00
Mikołaj Zalewski
9014dae8fb
ntdll: Return from Thumb to ARM mode after assembling raise_func_trampoline_thumb.
...
Without it, Raspbian gcc thinks the next function
(raise_func_trampoline_arm) is in Thumb and will create its own
trampoline to to execute it as Thumb (bad).
Signed-off-by: Mikołaj Zalewski <mikolaj@zalewski.pl>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-06 11:39:48 +02:00
Daniel Lehman
93fa2e0ab8
ntdll/tests: Handle 32 cores.
...
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-06 11:38:48 +02:00
Brendan Shanks
f7895ef25a
ntdll: Generate "system boot information" SMBIOS table.
...
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-05 22:52:03 +02:00
Brendan Shanks
734a7120b6
ntdll: Add additional fields to generated SMBIOS chassis info table.
...
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-05 22:52:00 +02:00
Brendan Shanks
d29c33a35c
ntdll: Add additional fields to generated SMBIOS baseboard info table.
...
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-05 22:51:57 +02:00
Alexandre Julliard
1d3e3a1c8d
ntdll: Avoid importing RtlEnterCriticalSection/RtlLeaveCriticalSection from the Unix side.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-05 15:28:31 +02:00
Brendan Shanks
2b76b9f234
ntdll: End generated SMBIOS tables with the end-of-table structure.
...
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-04 22:08:13 +02:00
Brendan Shanks
0720c6cfd0
ntdll: Use unique handle numbers in generated SMBIOS tables.
...
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-04 22:08:11 +02:00
Jacek Caban
b59bf31f61
ntdll: Move InterlockedCompareExchange128 support to winnt.h.
...
Also properly declare intrinsic on msvc.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-04 20:22:38 +02:00
Evgeny Litvinenko
69f1b12a30
ntdll: Add check for totalram, mem_unit in struct sysinfo.
...
Signed-off-by: Evgeny Litvinenko <evgeny.v.litvinenko@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-03 15:52:15 +02:00
Alexandre Julliard
2c903e9e9b
ntdll: Move the critical section fallback code out of the Unix library.
...
This partially reverts commit ff19f21913
.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-03 15:52:15 +02:00
Alexandre Julliard
647c54e539
ntdll: Fix wcsncpy() implementation now that length is unsigned.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49206
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-03 13:00:53 +02:00
Zebediah Figura
31800a1414
server: Use a separate object for each opened mailslot device file.
...
This is essentially a straight port of 2600ecd4ed
.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-03 10:20:03 +02:00
Zebediah Figura
f4e5556547
ntdll/tests: Add more tests for object names.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-01 10:02:16 +02:00
Zebediah Figura
b7e51a1653
ntdll: Append ntdll.dll to the builtin_modules list.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49626
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-29 21:28:31 +02:00
Zebediah Figura
3f8d60e2ac
ntdll: Compare builtins by their device and inode number directly.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-29 21:27:49 +02:00
Alexandre Julliard
eee92591bc
ntdll/tests: Add thread context test for ARM platforms.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-28 14:16:53 +02:00
Alexandre Julliard
06c09fca31
ntdll/tests: Add tests for RtlCaptureContext() and NtGetContextThread() on x86_64.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-28 14:13:48 +02:00
Alexandre Julliard
8e5c11b964
ntdll/tests: Enable more exception tests on ARM platforms.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-28 14:13:48 +02:00
Alexandre Julliard
94ca95a6d4
ntdll/tests: Fix vectored exception handler usage.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-28 14:13:48 +02:00
Alexandre Julliard
d775b9fd93
ntdll: Reimplement RtlRaiseException() to build a correct context on ARM.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-28 13:51:44 +02:00
Alexandre Julliard
57f419993e
ntdll: Use a syscall thunk for NtGetContextThread().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-28 13:51:44 +02:00
Alexandre Julliard
15b3584603
winebuild: Store the syscall frame in the thread data on ARM64.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-28 13:35:30 +02:00
Alexandre Julliard
28e443d9e2
winebuild: Store the syscall frame in the thread data on ARM.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-28 13:31:59 +02:00
Alexandre Julliard
9a7c56d9e7
winebuild: Store the syscall frame in the thread data on x86_64.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-28 13:10:28 +02:00
Alexandre Julliard
8e3b5183cc
winebuild: Store the syscall frame in the thread data on i386.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-28 13:00:50 +02:00
Matteo Bruni
b37371bf20
ntdll: Don't read current CPU frequency on Linux.
...
On the Linux boxes I tested, reading scaling_cur_freq usually takes
about 12 ms per core.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47128
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-24 18:26:18 +02:00
Alexandre Julliard
d18b566995
ntdll: Store the filesystem redirection flag in the 64-bit TEB.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-24 18:26:18 +02:00
Alexandre Julliard
a865a4f61d
ntdll: Allocate 64-bit TEB and PEB in WoW64 mode.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-24 18:26:18 +02:00
Alexandre Julliard
e3b059b5ba
ntdll: Store the thread startup info in the ntdll_thread_data structure.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-24 18:26:18 +02:00
Alexandre Julliard
0bf52b09f2
ntdll: Update the TEB and PEB structures for newer Windows versions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-23 23:21:08 +02:00
Alexandre Julliard
9018a37735
ntdll: Call virtual_set_large_address_space() directly from the Unix side.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-22 14:38:40 +02:00
Alexandre Julliard
131e53a1fc
ntdll: Avoid private Unix functions in RtlCreateUserStack().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-22 14:38:40 +02:00
Alexandre Julliard
1372d8fc2c
ntdll: Implement NtSetInformationProcess(ProcessThreadStackAllocation).
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-22 14:22:16 +02:00
Alexandre Julliard
d41b1c28c3
ntdll: Avoid private Unix functions in RtlExitUserThread().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-22 14:22:16 +02:00
Alexandre Julliard
78c772e9d8
ntdll: Use a syscall thunk for NtQueryPerformanceCounter().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-21 18:30:08 +02:00
Alexandre Julliard
4752e252ea
ntdll: Use a syscall thunk for NtClose().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-21 18:30:08 +02:00
Alexandre Julliard
5eefbc6db9
ntdll: Implement KiRaiseUserExceptionDispatcher().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-21 18:30:08 +02:00
Alexandre Julliard
688799b1f7
ntdll: Map errno to a status also in directory functions.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49523
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-21 18:30:08 +02:00
Alexandre Julliard
f8d42a31c6
ntdll: Set a better exit status when the main image fails to load.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49593
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-21 15:23:28 +02:00
Alexandre Julliard
9def213de3
ntdll: Move the locale system calls to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-20 20:14:41 +02:00
Alexandre Julliard
0e45f7b4cd
ntdll: Move various stub functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-20 20:14:41 +02:00
Alexandre Julliard
f298db7254
ntdll: Move the security system calls to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-20 20:14:18 +02:00
Alexandre Julliard
dd77ff754b
ntdll: Move the token functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-20 17:58:12 +02:00
Alexandre Julliard
a47f4daf8f
ntdll: Move the LPC port syscall stubs to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-20 17:58:12 +02:00
Zebediah Figura
ff9ce43c01
ntdll/tests: Make info.c less verbose by default.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-20 11:47:36 +02:00
Zebediah Figura
17785690c0
ntdll/tests: Remove some unnecessary checks in test_query_logicalprocex().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-20 11:47:34 +02:00
Zebediah Figura
9dd1eaab44
ntdll/tests: Return early if ThreadHideFromDebugger isn't supported.
...
We're not testing anything interesting in this case.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-20 11:47:29 +02:00
Zebediah Figura
519f86d5aa
ntdll/tests: Remove todo_wine for tests that now succeed.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-20 11:47:26 +02:00
Zebediah Figura
8ac77cfbf9
ntdll/tests: Remove some workarounds for no longer supported versions of Windows.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-20 11:47:22 +02:00
Gerald Pfeifer
f3ca16379d
ntdll: Include <signal.h> for sigset_t.
...
Signed-off-by: Gerald Pfeifer <gerald@pfeifer.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-20 11:46:20 +02:00
Alexandre Julliard
b1af31b47a
ntdll: Fix a memory leak.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-20 11:45:58 +02:00
Jacek Caban
180f7cf412
ntdll: Always use GNU _CI* functions implementation on clang.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 23:16:52 +02:00
Alexandre Julliard
e0a2f85b78
ntdll: Move some power stub functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 23:16:51 +02:00
Alexandre Julliard
e7c60141d6
ntdll: Move some timer stub functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 23:16:51 +02:00
Alexandre Julliard
398cfe4807
ntdll: Move some system stub functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 23:16:51 +02:00
Alexandre Julliard
0eae5d3abc
ntdll: Move the atom system calls to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 23:16:51 +02:00
Alexandre Julliard
76e48978a9
ntdll: Move more object manager functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 23:16:51 +02:00
Alexandre Julliard
28bf959c5c
ntdll: Move the remaining file functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 23:16:51 +02:00
Alexandre Julliard
7053b7c615
ntdll: Move the registry system calls to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 23:16:51 +02:00
Zebediah Figura
de1eaee480
ntdll/tests: Fix a copy-paste error.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 11:00:57 +02:00
Zebediah Figura
2a53947028
ntdll/tests: Use wide character string literals in om.c.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 11:00:55 +02:00
Zebediah Figura
5e240cdf50
ntdll/tests: Convert DIR_TEST_CREATE_OPEN into a function.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 11:00:53 +02:00
Zebediah Figura
d7e12831b0
ntdll/tests: Remove some workarounds for no longer supported versions of Windows.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 11:00:52 +02:00
Paul Gofman
2aa58e43a0
ntdll/tests: Test KiUserExceptionDispatcher with RtlUnwind on i386.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Paul Gofman
12dba1b2ae
ntdll: Fix PE unwind info for %rsi, %rdi in KiUserExceptionDispatcher.
...
Fixes StarCraft crash on start.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Zebediah Figura
77e74fb1db
ntdll: Implement NtMakeTemporaryObject().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Alexandre Julliard
0534beb331
ntdll: Use syscall thunks for object manager functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Alexandre Julliard
40d403c926
ntdll: Use syscall thunks for system functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Alexandre Julliard
e3e477e6a1
ntdll: Use syscall thunks for virtual memory functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Alexandre Julliard
3b4c2ffb7b
ntdll: Use syscall thunks for file functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Alexandre Julliard
635e914bde
ntdll: Use syscall thunks for process functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Alexandre Julliard
00e7d50f8b
ntdll: Use syscall thunks for thread functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Alexandre Julliard
c5f66fc784
ntdll: Use syscall thunks for I/O completion functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Alexandre Julliard
eb45a75a2e
ntdll: Use syscall thunks for keyed event functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Alexandre Julliard
9f8acda167
ntdll: Use syscall thunks for wait functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Alexandre Julliard
aa08e15415
ntdll: Use syscall thunks for timer functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Alexandre Julliard
66e6d87ab8
ntdll: Use syscall thunks for job functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Alexandre Julliard
3f51cb6304
ntdll: Use syscall thunks for mutex functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Alexandre Julliard
f4c403d1f2
ntdll: Use syscall thunks for event functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Alexandre Julliard
bc2164e074
ntdll: Use syscall thunks for semaphore functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Alexandre Julliard
14994715e9
ntdll: Avoid buffer underflow in find_dos_device().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Jacek Caban
42cb7d2ad1
ntdll: Silence server_ioctl_file debug traces.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 22:57:57 +02:00
Alexandre Julliard
704d0662be
ntdll: Fix RtlSizeHeap() error value for 64-bit.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 16:33:02 +02:00
Alexandre Julliard
82dc024a35
ntdll: Use separate handlers for SIGSEGV/SIGILL/SIGBUS on ARM64.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 16:33:02 +02:00
Alexandre Julliard
7b79532448
ntdll: Send debug event before pushing exception data on x86_64.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 15:22:36 +02:00
Alexandre Julliard
3889c374a1
ntdll: Send debug event before pushing exception data on x86.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 15:22:36 +02:00
Alexandre Julliard
ae15a4ca5a
ntdll: Send debug event before pushing exception data on ARM64.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 15:22:30 +02:00
Alexandre Julliard
adb4e74b47
ntdll: Send debug event before pushing exception data on ARM.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 10:36:23 +02:00
Alexandre Julliard
1e4865ffcf
ntdll: Handle signals on the signal stack also on ARM.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 10:34:18 +02:00
Alexandre Julliard
485c8566f1
ntdll: Build the exception record on the signal stack first.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 10:31:19 +02:00
Alexandre Julliard
ca45eda758
ntdll: Add a helper function to push the exception data to the thread stack.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 10:30:45 +02:00
Alexandre Julliard
9a9fb47e24
ntdll: Also handle stack guard page faults in virtual_handle_fault().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 10:29:50 +02:00
Alexandre Julliard
f1e4c54104
ntdll: Add a helper function to grow the stack on guard page faults.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 10:28:57 +02:00
Alexandre Julliard
432d504118
ntdll: Pass the stack address to the virtual_handle_fault() function.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 10:28:26 +02:00
Alexandre Julliard
5a68254c13
ntdll: Handle faults inside the signal handler also on ARM.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 10:23:52 +02:00
Alexandre Julliard
f30ba2cf25
ntdll: Add support for FPU registers in signal context on ARM.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 10:23:34 +02:00
Alexandre Julliard
99851ca4c2
ntdll: Initialize the thread signal stack in the common code.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 10:23:00 +02:00
Myah Caron
4617f83fcf
ntdll/tests: Add test to check if GetTickCount is updated after sleeping.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49564
Signed-off-by: Myah Caron <qsniyg@protonmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-14 18:27:59 +02:00
Piotr Caban
a6fb7be678
ntdll: Ignore L length specifier in printf.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-14 18:27:59 +02:00
Alexandre Julliard
20bc32cddc
ntdll: Use malloc() to allocate temporary system information.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-14 10:35:27 +02:00
Alexandre Julliard
242dc8989a
ntdll: Use malloc() to allocate the system processor information.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-14 10:35:14 +02:00
Alexandre Julliard
fe7b8d70d5
ntdll: Use malloc() to allocate the logical processor information.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-14 10:34:31 +02:00
Alexandre Julliard
42a2ad202e
ntdll: Use malloc() to allocate temporary process data.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-14 10:33:57 +02:00
Alexandre Julliard
83f9e784e4
ntdll: Use malloc() to allocate temporary filename buffers.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-14 10:33:47 +02:00
Alexandre Julliard
e9abe3f739
ntdll: Use malloc() to allocate the directory cache.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-14 10:33:18 +02:00
Alexandre Julliard
b2d38f1531
ntdll: Use malloc() to allocate the buffer in get_device_mount_point().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-14 10:33:05 +02:00
Alexandre Julliard
9ec5be2cea
ntdll: Use malloc() to allocate the buffer in server_get_unix_name().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-14 10:32:55 +02:00
Alexandre Julliard
1037bf54bf
ntdll: Use malloc() to allocate the buffer in nt_to_unix_file_name() and related helpers.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-14 10:32:31 +02:00
Alexandre Julliard
ef01f6ac13
ntdll: Use malloc() to allocate the buffer in unix_to_nt_file_name().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-14 10:32:04 +02:00
Paul Gofman
fdb3d9ae32
ntdll: Use MAP_FIXED_NOREPLACE flag in try_map_free_area() if available.
...
Avoids actual mapping followed by unmapping back if the memory range is
already mapped.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-13 21:26:23 +02:00
Paul Gofman
5498ebd8c0
ntdll: Stop search on mmap() error in try_map_free_area().
...
The anon mmap errors do not depend on start address hint. Ignoring them
makes the search take incredible time until it fails.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-13 21:26:23 +02:00
Alexandre Julliard
052e8dbf59
ntdll: Use a pthread mutex for the wait on address section.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-13 21:22:14 +02:00
Alexandre Julliard
85db4f7ec2
ntdll: Use a pthread mutex for the current directory section.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-13 21:22:14 +02:00
Alexandre Julliard
d7ef680e95
ntdll: Use a pthread mutex for the drive info section.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-13 21:22:14 +02:00
Alexandre Julliard
3b745f17b5
ntdll: Use a pthread mutex for the mount info section.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-13 21:22:14 +02:00
Alexandre Julliard
99520e1997
ntdll: Use a pthread mutex for the timezone section.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-13 21:22:13 +02:00
Alexandre Julliard
992bdd77a0
ntdll: Use a pthread mutex for the CD-ROM cache section.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-13 21:22:13 +02:00
Alexandre Julliard
fdb09f4523
ntdll: Move the activation context initialization out of NtCreateThreadEx().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-13 21:22:13 +02:00
Alexandre Julliard
c71da19d24
ntdll: Implement RtlActivateActivationContextEx().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-13 21:22:13 +02:00
Alexandre Julliard
c6fea822a9
ntdll: Return the TEB pointer in NtCreateThreadEx().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-13 21:22:13 +02:00
Zebediah Figura
fb8a44f3ee
ntdll: Don't translate Unix virtual disks to FILE_DEVICE_VIRTUAL_DISK.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=36546
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-10 13:19:27 +02:00
Alexandre Julliard
63b66c9955
ntdll: Avoid using RtlQueueWorkItem() in the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-10 13:19:27 +02:00
Alexandre Julliard
afb1654567
ntdll: Avoid using LdrQueryProcessModuleInformation() in the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-10 07:58:35 +02:00
Alexandre Julliard
bcc3410732
ntdll: Avoid using RtlDosPathNameToNtPathName_U() in the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-10 07:58:14 +02:00
Alexandre Julliard
0357d2ca75
ntdll: Avoid using RtlInitUnicodeString() in the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-10 07:57:59 +02:00
Alexandre Julliard
9ac3f24f74
ntdll: Move the FSCTL_PIPE_IMPERSONATE semi-stub to the server.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-10 07:57:07 +02:00
Alexandre Julliard
4a49af0cbe
ntdll: Add a local helper function to check DOS 8.3 names.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-10 07:56:39 +02:00
Alexandre Julliard
eccd21e387
ntdll: Add a helper function to retrieve the NT headers of the main exe.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-10 07:56:18 +02:00
Alexandre Julliard
9ec262ebcc
ntdll: Add a helper function to open a file from its Unix path.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-10 07:56:02 +02:00
Alexandre Julliard
a2e77268f2
ntdll: Silence a noisy error.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-10 07:55:28 +02:00
Paul Gofman
095b0f5acc
ntdll: Fix stack adjustment condition in call_user_exception_dispatcher on x86_64.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-09 19:41:40 +02:00
Paul Gofman
e722660114
ntdll: Fixup instruction pointer for EXCEPTION_BREAKPOINT in the Unix part on x86/x86_64.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-09 19:41:40 +02:00
Zebediah Figura
829c759513
ntdll: Fill the VM counters in NtQuerySystemInformation(SystemProcessInformation).
...
Process Hacker displays this information.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-09 17:39:58 +02:00
Alexandre Julliard
b14eee69c7
ntdll: Use stack buffers to retrieve the drive info from mountmgr.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-09 15:34:00 +02:00
Alexandre Julliard
113e9811c4
ntdll: Clear the reply data on error in virtual_locked_server_call().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-09 15:34:00 +02:00
Alexandre Julliard
6f862a1ad8
ntdll: Allocate the buffer in the caller for wine_unix_to_nt_file_name().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-09 15:34:00 +02:00
Alexandre Julliard
5ebdeaaa37
ntdll: Use char pointers instead of ANSI/UNICODE_STRING in unix_to_nt_file_name().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-09 13:04:05 +02:00
Alexandre Julliard
368e3a93b8
ntdll: Allocate the return buffer in the caller for wine_nt_to_unix_file_name().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-09 13:04:05 +02:00
Alexandre Julliard
d0a16b7dc9
ntdll: Return a char pointer instead of an ANSI_STRING in nt_to_unix_file_name().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-09 13:04:05 +02:00
Alexandre Julliard
49fcd632e4
ntdll: Disallow relative paths in wine_unix_to_nt_file_name(), handle them in the caller.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-08 16:05:49 +02:00
Alexandre Julliard
f8699c0a71
kernel32: Move RemoveDirectoryA/W() implementation to kernelbase.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-08 16:05:26 +02:00
Alexandre Julliard
518decf16b
ntdll: Move NtQueryObject/NtSetInformationObject to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-08 14:38:23 +02:00
Zebediah Figura
82cd85b079
ntdll: Set the thread creation time in NtQuerySystemInformation(SystemProcessInformation).
...
Process Hacker displays this information.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-08 07:57:41 +02:00
Zebediah Figura
8297392734
ntdll: Set the process creation time in NtQuerySystemInformation(SystemProcessInformation).
...
Process Hacker displays this information.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-08 07:57:34 +02:00
Paul Gofman
8898a69519
ntdll: Use case sensitive search for \??\unix file names only.
...
Fixes crash on start in Planet Zoo and Jurassic World Evolution.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-07 19:40:28 +02:00
Alexandre Julliard
2d38551dd9
ntdll: Use macros to define both A and W printf functions.
...
This is similar to what msvcrt does.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-07 19:24:27 +02:00
Alexandre Julliard
1a43c5de71
ntdll: Use proper flags instead of characters for printf flags.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-07 19:24:27 +02:00
Zebediah Figura
8622eb326f
ntdll: Reimplement NtQuerySystemInformation(SystemProcessInformation) using a single server call.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-07 19:24:27 +02:00
Alexandre Julliard
ec3cdaba4f
ntdll/tests: Enable a few tests on all platforms.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-07 13:10:13 +02:00
Paul Gofman
af3aee8a5a
ntdll: Don't call NtRaiseException() on x64 if debugger is not present.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-07 13:07:23 +02:00
Paul Gofman
c198390c78
ntdll: Fix KiUserExceptionDispatcher ABI on x86.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-07 13:07:23 +02:00
Alexandre Julliard
dfa48037ec
ntdll: Use syscalls for NtCreateFile() and NtOpenFile().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-07 13:07:23 +02:00
Thomas Crider
031c744a1f
ntdll: Add missing LC_NUMERIC locale setting to init_locale.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49489
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49417
Signed-off-by: Thomas Crider <gloriouseggroll@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-06 22:39:32 +02:00
Zebediah Figura
5376bc5ee4
ntdll: Correct a comment referring to fd_cache_section.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-06 21:08:56 +02:00
Piotr Caban
1d093acc1f
ntdll: Fix 64-bit values printing in relay.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-06 21:04:45 +02:00
Alexandre Julliard
086072ca6a
ntdll: Reserve memory areas on all platforms.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-05 09:25:17 +02:00
Alexandre Julliard
695bf7a645
ntdll: Update working set limit also when loading a builtin dll.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-04 19:07:36 +02:00
Alexandre Julliard
b64208df0d
ntdll: The loader is named wine64 only on platforms that support WoW64.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49438
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-03 19:44:15 +02:00
Alexandre Julliard
e9951dbe37
ntdll: Use malloc() to allocate async I/O data.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-03 12:04:40 +02:00
Alexandre Julliard
a07cff77d3
ntdll: Use malloc() to allocate the object attributes buffer.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-03 12:04:02 +02:00
Alexandre Julliard
72fc2ceaa6
ntdll: Use pthread mutexes for uninterrupted sections in the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-03 12:02:58 +02:00
Paul Gofman
c02b63fb60
ntdll: Add PE frame handling to KiUserExceptionDispatcher() on x64.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-02 18:01:21 +02:00
Paul Gofman
69b6572338
ntdll: Don't reset rsp to context->Rsp until exception data is copied.
...
Context record may be stored on stack below context stack. This
happens, e. g., with RtlRaiseException().
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-02 14:17:36 +02:00
Huw Davies
25d6abb951
ntdll: Pass the start of the string to compose_string().
...
Fixes a regression caused by 520040dc4a
.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-02 11:57:00 +02:00
Paul Gofman
824f40596c
ntdll/tests: Add test for x86_64 KiUserExceptionDispatcher().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-01 15:07:33 +02:00
Paul Gofman
887332f9c7
ntdll: Fix KiUserExceptionDispatcher ABI on x86_64.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49436
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-01 15:07:33 +02:00
Alexandre Julliard
21f1fa82a8
ntdll: Fix uninitialized buffer in locale initialization.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49494
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-01 15:07:15 +02:00
Alexandre Julliard
520040dc4a
ntdll: Avoid importing the codepage functions from the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-01 10:59:35 +02:00
Alexandre Julliard
8885a51347
ntdll: Get rid of DllMain in the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-01 10:59:35 +02:00
Zebediah Figura
2d5bd21f31
ntdll: Fill the PrivateUsage field of VM_COUNTERS_EX.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-01 10:59:35 +02:00
Zebediah Figura
acc52bc90e
include: Use the public VM_COUNTERS and VM_COUNTERS_EX structure definitions.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-01 10:59:35 +02:00
Gijs Vermeulen
b6722aa752
ntdll: Don't use WCHAR in unix_to_win_locale().
...
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-30 17:51:29 +02:00
Biswapriyo Nath
d324014d42
ntdll/unix: Use Pc instead of Rip in signal_arm64.
...
Signed-off-by: Biswapriyo Nath <nathbappai@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-30 17:51:22 +02:00
Alexandre Julliard
3df16c0b70
ntdll: Use the exported name directly for a few more functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-30 12:25:08 +02:00
Alexandre Julliard
70fceaa2fe
ntdll: Use the standard C library names for the wide char functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-30 12:25:08 +02:00
Alexandre Julliard
cfc9da22f5
ntdll: Use the standard C library names for the string functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-30 12:25:08 +02:00
Alexandre Julliard
4478ba258e
ntdll: Use the standard C library names for the printf functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-30 12:25:08 +02:00
Alexandre Julliard
8a169390c9
ntdll: Build with msvcrt.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-30 12:25:08 +02:00
Alexandre Julliard
f89f7a54c2
ntdll: Support loading a PE-format ntdll.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-30 12:21:15 +02:00
Alexandre Julliard
4fcf20d1d1
ntdll: Move part of the PE image mapping code into virtual_map_section().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-30 12:21:15 +02:00
Alexandre Julliard
64731a8e9f
ntdll: Fix a few more thread information access rights.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-30 11:05:53 +02:00
Rémi Bernon
e1e34cdc37
ntdll: Correctly implement ThreadHideFromDebugger.
...
At least, store the thread information, instead of pretending and
failing to correctly validate handles and access rights.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-30 11:05:53 +02:00
Rémi Bernon
eef527723f
ntdll/tests: Add more HideFromDebugger tests.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-30 11:05:53 +02:00
Francois Gouget
1aa64a30be
ntdll: Fix wording of a comment.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-29 21:07:43 +02:00
Alexandre Julliard
43be3507c0
ntdll: Setup the main thread before initializing ntdll.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-29 19:51:47 +02:00
Alexandre Julliard
83a4549e9b
ntdll: Remove support for being loaded directly from libwine.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-29 19:51:47 +02:00
Alexandre Julliard
15c3eaafbb
ntdll: Move retrieving the startup info to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-29 19:51:47 +02:00
Alexandre Julliard
f1ff598e2a
ntdll: Update the __wine_ldt_copy pointer directly from the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-29 19:51:47 +02:00
Alexandre Julliard
2334f4e645
ntdll: Stop sharing the thread counter with the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-29 19:51:47 +02:00
Alexandre Julliard
067648cd2b
ntdll: Reimplement the string functions to avoid depending on libc.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-29 19:51:47 +02:00
Alexandre Julliard
bc8745851e
ntdll: Reimplement the ctype functions to avoid depending on libc.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-29 19:51:47 +02:00
Alexandre Julliard
716cf7d342
ntdll: Avoid a compiler warning when fetching the return address.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-29 19:51:47 +02:00
Alexandre Julliard
38c78a9682
ntdll: Avoid some Unix dependencies.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-29 19:51:47 +02:00
Alexandre Julliard
b9f531a0e8
ntdll: Move the console handle initialization to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-29 19:51:46 +02:00
Michael Müller
ed566a8723
ntdll: Return process times in NtQuerySystemInformation(SystemProcessInformation).
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-29 19:51:46 +02:00
Michael Müller
69e9651c1a
ntdll: Return thread times in NtQuerySystemInformation(SystemProcessInformation).
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-29 19:51:46 +02:00
Sebastian Lackner
847b93c740
ntdll: Implement NtQueryInformationThread(ThreadTimes) using procfs.
...
Based on a patch by Ray Hinchliffe <ray@pobox.co.uk>.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=20230
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-29 19:51:46 +02:00
Jacek Caban
d2a3104f5f
ntdll: Support CONIN$ and CONOUT$ in RtlIsDosDeviceName_U.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-26 21:52:10 +02:00
Alexandre Julliard
8b36885973
ntdll: Fix some stdcall/cdecl calling convention mismatches.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-26 20:53:33 +02:00
Alexandre Julliard
dde38fda6e
ntdll: Use Windows APIs to handle the dll overrides variable.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-26 20:53:33 +02:00
Alexandre Julliard
e605919198
ntdll: Move the math functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-26 09:12:11 +02:00
Alexandre Julliard
b8dc6b2412
ntdll: Move RtlGetSystemTimePrecise() to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-25 23:08:30 +02:00
Alexandre Julliard
13c1f008c0
ntdll: Move the timezone detection code to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-25 23:08:30 +02:00
Alexandre Julliard
7161dcd426
ntdll: Return the current time and timezone bias in NtQuerySystemInformation(SystemTimeOfDayInformation).
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-25 23:08:30 +02:00
Alexandre Julliard
c031662fd0
ntdll: Always set the thread context through NtSetContextThread().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-25 23:08:30 +02:00
Alexandre Julliard
10dbd1edd1
ntdll: Move the libunwind support to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-25 23:08:30 +02:00
Paul Gofman
1f6423f778
ntdll: Call TLS callbacks for main exe on thread detach.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-24 22:36:21 +02:00
Paul Gofman
1dc3383389
ntdll: Call TLS callbacks also for main exe on thread attach.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49007
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49098
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49041
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-24 22:36:19 +02:00
Rémi Bernon
f5a8ed47a3
ntdll: Leave some space around DbgBreakPoint and DbgUserBreakPoint.
...
CoD: Black Ops 3 and CoD: WWII modify these (and several others) and
expect to have enough space for a few instructions.
It then verifies later that the patches are still in place, and
terminates if the byte sequence do not match. Having small symbols can
make the patches to overlap and the check to fail.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-24 18:31:09 +02:00
Alexandre Julliard
438abad27c
ntdll: Set the Wine paths environment variables from the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-24 18:31:09 +02:00
Alexandre Julliard
36e55720b6
ntdll: Store home directory and username at init time in the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-24 09:20:33 +02:00
Paul Gofman
01143089f0
ntdll: Also call fsync() for FD_TYPE_CHAR in NtFlushBuffersFile().
...
Fixes a regression introduced by
3078f10d43
. Files of FD_TYPE_CHAR
were also flushed by fsync() on server before referenced commit.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-23 22:38:05 +02:00
Alexandre Julliard
9b9845e43e
ntdll: Move the system information functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-23 20:23:55 +02:00
Alexandre Julliard
577b392440
ntdll: Move searching for builtin dlls to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-23 20:15:53 +02:00
Alexandre Julliard
31538a79a9
ntdll: Move the loading of .so dlls to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-23 20:09:42 +02:00
Alexandre Julliard
99649d7892
ntdll: Add a common helper for building a modref.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-23 19:31:18 +02:00
Rémi Bernon
b7ccb9d06a
ntdll: Only raise EXCEPTION_INVALID_HANDLE if debugger is present.
...
CoD: WWII writes to PEB->BeingDebugged field, so we cannot completely
trust it, but we can double check with ProcessDebugPort.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-23 10:16:14 +02:00
Rémi Bernon
537bb7a8ae
ntdll: Refine NtSetInformationThread ThreadHideFromDebugger stubs.
...
CoD: Black Ops 3 and CoD: WWII do each one of these calls and terminate
if they return unexpected results.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-23 10:12:31 +02:00
Alex Henrie
449b8c7e92
include: Add RTL_GENERIC_TABLE.
...
And fix RtlInitializeGenericTable's return type while updating the ntdll
functions to use the newly added typedefs.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-22 21:04:40 +02:00
Paul Gofman
6d712a42ca
ntdll: Increment num_busy_workers when queuing TP object.
...
Otherwise two consequative submits may have the same
num_busy_workers value if threadpool_worker_proc did not
have a chance to pick the work in between. A new thread is
not created in tp_submit() for the second submit and if the
first submit queues an (infinitely long) wait
the next submitted callback is not called for indefinite
time period.
Fixes hang on exit in Detroit Become Human.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-22 16:43:12 +02:00
Alexandre Julliard
67949d96a7
ntdll: Make the client cpu constant global.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-22 16:43:12 +02:00
Alexandre Julliard
9e3893cc29
ntdll: Use FSCTL_GET_OBJECT_ID to compare file identities.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-22 12:06:19 +02:00
Alexandre Julliard
251335cdf3
ntdll: Implement FSCTL_GET_OBJECT_ID to retrieve a file id.
...
It can be used instead of FileIdInformation to avoid depending on
mountmgr.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-22 12:05:15 +02:00
Alexandre Julliard
6ff0bb786c
ntdll: Set the Unix current directory also in the exec process case.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49425
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-22 12:04:35 +02:00
Alexandre Julliard
c468a36903
ntdll: Use unix_to_nt_file_name() to convert Unix paths in RtlGetFullPathName_U().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-21 16:48:24 +02:00
Alexandre Julliard
a2c890c1e1
ntdll: Actually return an NT path in wine_unix_to_nt_file_name() for relative paths.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-19 18:34:40 +02:00
André Hentschel
5f9f827fd4
ntdll: Change master/slave to more neutral words.
...
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-18 19:56:43 +02:00
Alexandre Julliard
78532a0c09
ntdll: Move the directory change functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-18 19:56:43 +02:00
Alexandre Julliard
7e3d265469
ntdll: Move the volume information functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-18 19:56:43 +02:00
Alexandre Julliard
a0b7fb9bb2
ntdll: Move the image address initialization to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-18 14:48:15 +02:00
Alexandre Julliard
2e6a2cf9c6
ntdll: Move the WoW64 thread context functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-18 14:48:15 +02:00
Alexandre Julliard
e84ec36a62
ntdll: Move the thread get/set information functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-18 14:48:15 +02:00
Alexandre Julliard
44a230937b
ntdll: Move the remaining process functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-18 14:48:15 +02:00
Alexandre Julliard
2ec86fc20a
ntdll: Remove support for PPC32.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 16:46:14 +02:00
Alexandre Julliard
df5e476487
ntdll: Move the current directory initialization to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 16:27:24 +02:00
Alexandre Julliard
c1dc5021ac
ntdll: Dynamically load callback functions from the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 16:27:24 +02:00
Alexandre Julliard
7e9ccbe68f
ntdll: Move the Unix to NT file name conversion support to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 00:05:40 +02:00
Alexandre Julliard
f6bfb4ce00
ntdll: Move the device I/O control functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-16 18:36:30 +02:00
Alexandre Julliard
888d66a237
ntdll: Move the file read/write functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-16 18:36:30 +02:00
Alexandre Julliard
e9e5c95058
ntdll: Move the process information functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-16 18:36:30 +02:00
Alexandre Julliard
c4c3b06e83
ntdll: Move the NtCreateUserProcess() implementation to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-16 12:04:13 +02:00
Gerald Pfeifer
a20b997b34
ntdll: Include <signal.h> where needed in the Unix library.
...
Signed-off-by: Gerald Pfeifer <gerald@pfeifer.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-15 11:21:34 +02:00
Alexandre Julliard
98eab245d3
ntdll: Initialize file redirects only after the server is connected.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49380
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-14 19:35:20 +02:00
Alexandre Julliard
c3e2013b61
ntdll: Move the get/set file information functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-14 19:35:20 +02:00
Alexandre Julliard
07248fc500
ntdll: Move the job functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-13 13:46:01 +02:00
Alexandre Julliard
06fa3d32a7
ntdll: Move the IO completion functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-13 11:56:30 +02:00
Nikolay Sivov
dd9295b415
ntdll: Create class section for proxy-stub interface entries.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-12 17:16:25 +02:00
Alexandre Julliard
9ed9512662
ntdll: Move a few file functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-12 17:16:25 +02:00
Alexandre Julliard
e0fca94511
ntdll: Move the directory functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-12 16:42:24 +02:00
Alexandre Julliard
573be7e602
ntdll: Load the case mapping table in the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-12 14:32:11 +02:00
Alexandre Julliard
412555e0cd
ntdll: Move fork and exec support to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-12 14:32:11 +02:00
Nikolay Sivov
72d055854b
ntdll: Use single field for misc flags in ComClass redirection section.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-11 21:03:34 +02:00
Nikolay Sivov
d4c2b61c48
ntdll: Fix a typo in security descriptor flags.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-11 21:03:31 +02:00
Alexandre Julliard
b86dc3926b
ntdll: Move the locales initialization to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-11 15:51:18 +02:00
Alexandre Julliard
ee5c842e53
ntdll: Move the creation of the initial environment to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-11 15:51:18 +02:00
Alexandre Julliard
a4ce2f652d
ntdll: Move Nt system time functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-11 15:51:18 +02:00
Alexandre Julliard
84d25135b3
ntdll: Implement NtCreateUserProcess().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-10 22:38:49 +02:00
Alexandre Julliard
df513b95ec
ntdll: Avoid referencing security descriptor functions from the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-10 08:50:35 +02:00
Damjan Jovanovic
f728a5f3f9
ntdll: Interpretation of l_addr depends on FreeBSD version.
...
FreeBSD changed l_addr to mean the relocation offset like it
does on other OSes, and provided a dynamic linker symbol,
"_rtld_version_laddr_offset", that can be used to check the
meaning.
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-10 08:32:33 +02:00
Paul Gofman
3078f10d43
ntdll: Perform fsync() in client for files and directories.
...
Fixes stuttering in Assetto Corsa Competizione (multiplayer mode).
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 21:23:33 +02:00
Derek Lesho
d8d6a6b2e6
server: Partially implement JobObjectBasicAccountingInformation.
...
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 21:23:33 +02:00
Daniel Lehman
a302ab44ac
server: Fail if non-empty directory marked for deletion.
...
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 21:23:33 +02:00
Jacek Caban
f2e886a006
ntdll: Export builtin functions as cdecl.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 21:23:33 +02:00
Jacek Caban
a8f02f0091
ntdll/tests: Add long long builtins tests.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 21:23:33 +02:00
Jacek Caban
04117dc8d4
ntdll: Reimplement _allmul using 32-bit arithmetic.
...
Based on compiler-rt.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 21:23:33 +02:00
Jacek Caban
0547da64a3
ntdll: Reimplement _allrem using 32-bit arithmetic.
...
Based on compiler-rt.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 21:23:33 +02:00
Jacek Caban
8f144eb566
ntdll: Reimplement _alldiv using 32-bit arithmetic.
...
Based on compiler-rt.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 21:23:33 +02:00
Jacek Caban
744843ed01
ntdll: Reimplement _aullrem using 32-bit arithmetic.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 21:23:33 +02:00
Jacek Caban
d53672c6ec
ntdll: Reimplement _aulldiv using 32-bit arithmetic.
...
Based on compiler-rt.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 21:23:33 +02:00
Alexandre Julliard
a240abf12b
ntdll: Avoid overflowing the command line buffer.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49314
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 21:23:33 +02:00
Alexandre Julliard
ff19f21913
ntdll: Move the futex-based critical section implementation to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 21:23:33 +02:00
Alexandre Julliard
552bc8aa47
ntdll: Move the wait on address implementation to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 15:47:30 +02:00
Alexandre Julliard
509ad75adb
ntdll: Move the futex-based condition variable implementation to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 15:47:30 +02:00
Alexandre Julliard
246dedaa09
ntdll: Move the futex-based SRW lock implementation to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 15:25:52 +02:00
Alexandre Julliard
4d70266274
ntdll: Move some more thread functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 15:25:52 +02:00
Alexandre Julliard
2333099c52
ntdll: Move signal handlers to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 15:25:52 +02:00
Gerald Pfeifer
0c14b1a962
ntdll: Replicate InterlockedCompareExchange64 to the Unix library.
...
This fixes the build on FreeBSD/i386 with GCC 9.
Signed-off-by: Gerald Pfeifer <gerald@pfeifer.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-08 21:01:32 +02:00
Zebediah Figura
19007cf31f
ntdll: Avoid leaking "drive" on error paths from get_mountmgr_fs_info() (Valgrind).
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-08 21:01:32 +02:00
Alexandre Julliard
683583faf2
ntdll: Remove support for setting custom signal handlers.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-06 16:45:36 +02:00
Alexandre Julliard
20c91c5e80
ntdll: Use NtContinue() to set the thread initial context.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-06 15:41:38 +02:00
Alexandre Julliard
7f28a1c521
ntdll: Use NtContinue() to restore context after an exception.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-06 15:17:07 +02:00
Alexandre Julliard
95e2d05e5d
ntdll: Implement NtContinue() in the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-06 15:16:38 +02:00
Alexandre Julliard
e561ce4b92
ntdll: Move NtRaiseException() implementation to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-06 14:31:00 +02:00
Alexandre Julliard
8e5d304278
ntdll: Move DbgUiIssueRemoteBreakin() to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-05 16:54:35 +02:00
Alexandre Julliard
245efd04e1
ntdll: Move NtCreateThreadEx() to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-05 16:40:53 +02:00
Alexandre Julliard
33c750f50f
ntdll: Use NtCreateThreadEx() for remote thread creation.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-05 15:23:37 +02:00
Alexandre Julliard
39e7f25e09
ntdll: Implement RtlCreateUserThread() on top of NtCreateThreadEx().
...
Based on a patch by Andrew Wesie.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-05 15:09:53 +02:00
Alexandre Julliard
ca3ca7b046
ntdll: Move the rest of the thread creation code to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-05 14:25:36 +02:00
Alexandre Julliard
cdfc45859c
ntdll: Move the section object functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-04 22:36:39 +02:00
Alexandre Julliard
f1276b25ae
ntdll: Move the keyed event functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-04 22:36:38 +02:00
Alexandre Julliard
65edacf934
ntdll: Move the timer functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-04 22:36:38 +02:00
Alexandre Julliard
8b87d6b814
ntdll: Move the mutex functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-04 22:36:38 +02:00
Alexandre Julliard
efd59e378c
ntdll: Move the event functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-04 22:36:38 +02:00
Alexandre Julliard
39915c9bc4
ntdll: Move the semaphore functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-04 22:36:38 +02:00
Alexandre Julliard
a184449841
ntdll: Move some wait functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-04 22:36:38 +02:00
Alexandre Julliard
4ffe39573b
ntdll: Move mapping of the user shared data to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-04 22:36:38 +02:00
Alexandre Julliard
cd0c598802
ntdll: Consolidate some of the init routines into the init_threading() entry point.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-04 22:36:38 +02:00
Alexandre Julliard
f1d40d4824
ntdll: Move more of the thread exit code to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-03 21:26:47 +02:00
Alexandre Julliard
35b063a404
ntdll: Move the thread creation code to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-03 21:09:13 +02:00
Alexandre Julliard
be0eb9c92e
ntdll: Move the thread startup code to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-03 20:01:16 +02:00
Alexandre Julliard
9fe61171e5
ntdll: Use the local server_send_fd() function in the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-02 17:39:28 +02:00
Alexandre Julliard
c96ef78b6d
ntdll: Move the virtual memory functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-02 17:19:12 +02:00
Alexandre Julliard
7c32b2dd93
ntdll: Move NtGetContextThread() implementation to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-02 14:23:21 +02:00
Alexandre Julliard
ac90898f72
ntdll: Move NtSetContextThread() implementation to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-02 14:01:10 +02:00
Gerald Pfeifer
b4a868b8ad
ntdll: Include <stdarg.h> in unix/debug.c.
...
Signed-off-by: Gerald Pfeifer <gerald@pfeifer.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-02 11:13:59 +02:00
Alexandre Julliard
87fa906a84
ntdll: Properly reset the stack environment at thread exit on ARM64.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49301
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-01 22:10:28 +02:00
Alexandre Julliard
c0319e0eab
ntdll: Move server wait functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-01 22:10:28 +02:00