Daniel Lehman
c2daea89c4
ntdll/tests: Add tests for semaphores.
...
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-18 22:46:37 +01:00
Gabriel Ivăncescu
22dba3f0fb
ntdll: Do not override existing context's RAX when dispatching user APC on x86_64.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-08 22:02:13 +01:00
Gabriel Ivăncescu
775dac0238
ntdll: Do not override existing context's EAX when dispatching user APC.
...
Fixes a regression introduced by 175a3649ba
,
which caused Winamp's in_wave module to crash when playing a wav file
(the previous behavior only changed EAX when there was no context).
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-08 20:58:30 +01:00
Zebediah Figura
16592ca918
ntdll: Set the process detaching flag before calling FLS callbacks.
...
So that we will not deadlock trying to acquire fls_section.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-07 21:21:14 +01:00
Rémi Bernon
c414f232e6
server: Accept DBG_EXCEPTION_HANDLED parameter in continue_debug_event.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50453
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-06 20:18:50 +01:00
Paul Gofman
c181a0ad59
ntdll: Use WINAPI calling convention for stub_entry_point().
...
Otherwise it ends up being stdcall function in the gcc PE build and
cdecl in ELF while allocate_stub() currently assumes cdecl.
Fixes missing function details output on x64.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-29 21:08:32 +01:00
Jefferson Carpenter
93c4852620
ntdll/tests: Clear AC flag in align check test.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49771
Signed-off-by: Jefferson Carpenter <jeffersoncarpenter2@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-28 12:27:14 +01:00
Paul Gofman
8b8ddffa21
ntdll: Preserve syscall frame when calling async IO system APC.
...
The frame can currently be reset from ws2_32.dll async IO callbacks
which are still in the user part and are calling 'syscall' functions.
If the user APC is processed after that during the same call to
server_select(), the call_user_apc_dispatcher() faults.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49782
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-23 22:07:50 +01:00
Paul Gofman
175a3649ba
ntdll: Always copy context in call_user_apc_dispatcher() on x86.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-22 21:25:34 +01:00
Martin Storsjo
a1955bfb6e
ntdll: Implement a no-op __chkstk for arm64.
...
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-21 16:55:53 +01:00
Alexandre Julliard
cdaa72c728
ntdll: Only reset the Unix current directory on removable devices.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49545
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-18 15:21:37 +01:00
Alexandre Julliard
88a1a6933b
ntdll: Pass the correct handle to NtTerminateProcess().
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49832
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-17 11:58:47 +01:00
Paul Gofman
71a43335ab
ntdll: Save unwind information in KiUserApcDispatcher() on x64.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-17 10:35:46 +01:00
Paul Gofman
c72f52d7cc
ntdll: Always copy context in call_user_apc_dispatcher() on x64.
...
Currently, if call_user_apc_dispatcher() is called with nonzero context,
there is no guarantee that the provided context is stored above the
rsp = context_ptr->Rsp - (sizeof(CONTEXT) + offsetof(frame,ret_addr))
being set.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-17 10:26:52 +01:00
Jacek Caban
fcf545f449
winapi: Use __alignof__ on clang.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-16 15:30:07 +01:00
Paul Gofman
0643a4fdce
ntdll: Remove unwind registers save space from struct stack_layout on x64.
...
The unwind space used right below the context's Rsp and can currently
potentially overlap with xstate.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-16 11:07:07 +01:00
Francois Gouget
84907a9eb1
ntdll/tests: The case-sensitivity tests don't need write access.
...
This fixes the tests when missing elevated privileges.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-14 17:02:39 +01:00
Francois Gouget
cbff1b9540
ntdll/tests: Skip some registry tests when missing elevated privileges.
...
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-14 17:02:39 +01:00
Alex Henrie
7c61b303eb
ntdll: Remove unnecessary call to strlen from get_dos_device.
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-11 21:47:15 +01:00
Paul Gofman
0fde203cac
ntdll: Don't set xstate in context if xstate features are not supported.
...
Fixes a regression reproducible on CPUs without XSAVE support introduced
by 419abd49a1
.
The regression commit erroneously assumes that if XSAVE is not supported
then the host signal context won't have xsave data set up.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50271
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-11 21:47:15 +01:00
Biswapriyo Nath
2d0fefbc49
ntdll: Add RtlDefaultNpAcl stub.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49900
Signed-off-by: Biswapriyo Nath <nathbappai@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-08 22:25:59 +01:00
Alexandre Julliard
6ddd6e836c
ntdll: Support the Android Java %fs register being a GDT selector.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-08 22:25:59 +01:00
Alexandre Julliard
758e75cc46
libwine: Move the Android JNI initialization to ntdll.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-08 22:25:59 +01:00
Alexandre Julliard
99ef6faf76
ntdll: Don't use the main exe path as bindir on Android.
...
The main exe can be the JVM host process.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-08 12:41:20 +01:00
Paul Gofman
183a8cf380
ntdll: Restore non-volatile registers in call_user_exception_dispatcher() on x86_64.
...
Required to correctly restore non-volatile registers during unwind.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-07 22:35:29 +01:00
Paul Gofman
c073b1ad40
ntdll/tests: Add a broken result for Win7u in test_extended_context().
...
Fixes test failures on w7u testbot machines.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-07 22:35:29 +01:00
Piotr Caban
7d94c4f0e4
ntdll: Fix memchr implementation.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50228
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-04 17:51:07 +01:00
Michael Stefaniuc
636d398c7d
ntdll: Use wide-char string literals.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-04 09:37:42 +01:00
Michael Stefaniuc
4da4e98a7a
ntdll: Use wide-char string literals in version.c.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-04 09:37:12 +01:00
Michael Stefaniuc
3b4239351a
ntdll: Use wide-char string literals in actctx.c.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-04 09:37:00 +01:00
Michael Stefaniuc
cdf1b61a47
ntdll: Print the correct debug string and not a random global variable.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-04 09:36:14 +01:00
Akihiro Sagawa
22612bcff5
ntdll: Add a timezone mapping rule for North Korea Standard Time.
...
Otherwise, another UTC+9 timezone matches to the timezone.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50213
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 13:43:07 +01:00
Daniel Lehman
bd02a82d9c
ntdll: Handle 64-bit addresses in +seh traces on x64.
...
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 13:15:31 +01:00
Damjan Jovanovic
6d829f2baf
ntdll: Fix backward compatibility for struct link_map on FreeBSD.
...
Checking for the _rtld_version_laddr_offset symbol only works when
header and library versions match. Checking for the offset of l_addr
instead lets us use the older header with the new library too.
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 22:18:20 +01:00
Francois Gouget
dcdd98f5c1
ntdll/tests: Don't check the load address in the WoW64 case.
...
It could sometimes be NULL, such as win32k.sys on Win <= 7.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 21:36:12 +01:00
Rémi Bernon
141c55a72d
ntdll: Initialize local variable (valgrind).
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 19:01:56 +01:00
Alexandre Julliard
4e6c1dff58
ntdll: Avoid closing an invalid handle on process creation failure.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-27 15:57:07 +01:00
Paul Gofman
44e135a7bd
ntdll/tests: Test noname named pipe uniqueness.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 23:25:38 +01:00
Paul Gofman
1f3064c5d5
server: Allow client pipe creation with server pipe as root directory.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 23:25:38 +01:00
Paul Gofman
aa5c1e871b
server: Return STATUS_OBJECT_PATH_INVALID for noname pipe name query.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 23:25:38 +01:00
Paul Gofman
a2ffa8ef7e
server: Allow named pipes creation with device file as root directory.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 23:25:38 +01:00
Paul Gofman
ae106feed2
server: Do not dereference symlinks specified as root directory.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 23:25:38 +01:00
Alexandre Julliard
ce5e1c12c3
ntdll/tests: Fix a trace format on ARM64.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 23:25:38 +01:00
Alexandre Julliard
baec5f1eca
ntdll: Store the syscall dispatcher also in the WOW32Reserved TEB field.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 21:31:53 +01:00
Alexandre Julliard
b636f9816f
krnl386: Move the 16-bit stack out of the WOW32Reserved field.
...
Based on a patch by Sebastian Lackner.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 21:31:53 +01:00
Rémi Bernon
97825b9c53
ntdll: Return failure from RtlQueryProcessDebugInformation.
...
Some DRM call it with GetCurrentThreadId(), although they don't seem to
mind about the result.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 21:31:53 +01:00
Rémi Bernon
e0a1bdf2bc
server: Return STATUS_INVALID_CID from NtOpenProcess.
...
When appropriate, instead of STATUS_INVALID_PARAMETER.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 21:31:53 +01:00
Rémi Bernon
3326c578f3
ntdll/tests: Add tests for NtOpenProcess return status.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 21:31:53 +01:00
Alexandre Julliard
043489456c
ntdll: Make x86_64 syscall thunks position independent.
...
Based on a patch by Paul Gofman.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-25 21:39:19 +01:00
Erich E. Hoover
773b97bb2b
ntdll: Fix converting large 32-bit time_t when time_t is signed.
...
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-24 22:09:30 +01:00