Alexandre Julliard
21d91ef04b
ntdll: Initialize filesystem redirects before kernel32 is loaded.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-02 12:36:05 +02:00
Zebediah Figura
bf891f34af
ntdll: Correctly fill DataTransferLength in SCSI_PASS_THROUGH and SCSI_PASS_THROUGH_DIRECT.
...
DataTransferLength specifies the number of bytes transferred, but
sg_io_hdr_t.resid gives the number of bytes *not* transferred:
https://www.tldp.org/HOWTO/SCSI-Generic-HOWTO/x356.html
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47424
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-02 08:00:13 +02:00
Hans Leidekker
a8745d1211
ntdll: Support NtQuerySystemInformation(SystemFirmwareTableInformation) on macOS.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-01 14:41:47 +02:00
Dmitry Timoshkov
84a46a27e7
ntdll: Add '-norelay' flag for _vsnprintf().
...
Otherwise for instance +relay,+ver log has ver: traces completely messed up.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-01 14:41:25 +02:00
Alexandre Julliard
32fdffac42
include: Implement some inline functions in C instead of assembly.
...
This way the same code can be used on all platforms.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-26 23:08:53 +02:00
Alexandre Julliard
d5249c0f6d
advapi32: Move MD5 implementation to ntdll.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-24 15:00:29 +02:00
Alexandre Julliard
5768fd6dd2
advapi32: Move MD4 implementation to ntdll.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-24 15:00:29 +02:00
Alexandre Julliard
45e0f91de1
advapi32: Move SHA1 implementation to ntdll.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-24 14:52:10 +02:00
Alexandre Julliard
f535bcb2e6
advapi32: Move more event log stubs to ntdll.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-24 14:52:08 +02:00
Fabian Maurer
6525a16673
ntdll: Check the activation context before looking for the module basename.
...
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-24 10:50:53 +02:00
Alexandre Julliard
91bbc46c99
ntdll: Try to use the name of the PE file also when loading .so builtin.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-24 10:50:53 +02:00
Rémi Bernon
4c750a35c3
ntdll: Pass the alignment parameter down to map_view instead of mask.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-20 22:32:42 +02:00
Rémi Bernon
be48a56e70
ntdll: Clarify NtMapViewOfSection zero_bits parameter semantics.
...
See 00451d5edf
.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-20 22:32:42 +02:00
Rémi Bernon
bec9a63f7a
ntdll/tests: Add more NtMapViewOfSection tests with zero_bits.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-20 22:32:42 +02:00
Rémi Bernon
d1b7e01e5e
ntdll/tests: Move NtMapViewOfSection tests from kernel32/tests.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-20 22:32:40 +02:00
Rémi Bernon
3acc123ed3
ntdll/tests: Cleanup NtAllocateVirtualMemory related tests.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-20 22:23:03 +02:00
Alexandre Julliard
a226e2b7a9
ntdll: Use .so builtin if found instead of falling back to the installed PE file.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-19 11:47:34 +02:00
Alexandre Julliard
bdd48b41d3
ntdll: Make the standard C functions available for importing.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-18 23:51:51 +02:00
Alexandre Julliard
c911eff7b4
ntdll: Make wine_server_call() cdecl.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-18 23:51:51 +02:00
Zebediah Figura
16eb17bb0a
ntdll/tests: Add tests for RtlCreateUserStack().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-17 20:52:34 +02:00
Zebediah Figura
90c3b78bec
ntdll: Implement RtlCreateUserStack() and RtlFreeUserStack().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-17 20:50:10 +02:00
Gabriel Ivăncescu
0639d182e5
ntdll: Add support for EXT4 per directory case folding.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-17 12:49:22 +02:00
Rémi Bernon
00451d5edf
ntdll: Clarify NtAllocateVirtualMemory zero_bits parameter semantics.
...
This parameter was misinterpreted as an alignment parameter for the
lower bits of the allocated memory region, although it is a constraint
on the higher bits.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-13 20:55:35 +02:00
Alexandre Julliard
70e1f845c7
ntdll: Make the __wine_spec_unimplemented_stub() copy cdecl.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-12 22:38:52 +02:00
Zebediah Figura
07e86d3c9d
ntdll: Try to avoid an unnecessary syscall in fast_release_srw_exclusive().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-11 18:20:31 +02:00
Zebediah Figura
e2411ebecb
ntdll: Add a futex-based implementation of SRW locks.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-11 18:20:24 +02:00
Zebediah Figura
d741296676
ntdll: Remove no longer used interlocked_dec_if_nonzero().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-11 18:19:40 +02:00
Rémi Bernon
8878492d3b
ntdll/tests: Add NtAllocateVirtualMemory tests for zero_bits behavior.
...
The zero_bits parameter doesn't behave as expected, and some 64bit code
use it to allocate memory in the lower 32bit address space.
The expected full behaviour is:
* zero_bits == 0: no constraint on address range
* 0 < zero_bits <= 15: returned address should have as many upper bits
set to 0, starting at bit 31. In 64bit mode,
upper 32bits should all be 0 as well.
* 15 < zero_bits <= 31: unsure, but probably same as zero_bits == 15.
* zero_bits > 31: (64bit/WoW64 only) zero_bits behaves as a bitmask, as
if it was set to the number of leading 0 in the
bitmask, works in the whole 64bit range.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-11 18:18:49 +02:00
Rémi Bernon
f39c1eee49
ntdll/tests: Move NtAllocateVirtualMemory tests that were in kernel32.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-11 18:18:39 +02:00
Alexandre Julliard
c36b3d3e4a
ntdll: Don't use native subsystem heuristic against builtin modules.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-11 18:15:31 +02:00
Alexandre Julliard
9019c12fac
ntdll: Load the file we got when we can't locate the corresponding builtin.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-05 21:40:55 +02:00
Alexandre Julliard
370abd32d1
ntdll: Add a helper function to load a dll from a .so file.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-05 21:40:55 +02:00
Alexandre Julliard
295f10aa80
ntdll: Add a helper function to find a module from its dlopen handle.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-05 17:26:35 +02:00
Alexandre Julliard
d96fd000d3
ntdll: Fix off-by-one allocation error.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47311
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-03 10:28:29 +02:00
Sven Baars
539ebebc94
ntdll/tests: Fix a string leak (Valgrind).
...
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-31 21:32:26 +02:00
Huw Davies
13e11d3fcb
kernel32: Move the implementation of GetTickCount() to kernel32.
...
Fixes regression caused by 3e927c4aec
.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47265
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-30 21:53:27 +02:00
Alexandre Julliard
60df3b14b5
include: Make the Wine exception handlers cdecl.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-30 15:04:06 +02:00
Alexandre Julliard
1943fb29bf
ntdll: Don't pass DLL_WINE_PREATTACH to the TLS callbacks.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-24 11:25:44 +02:00
Jacek Caban
a55a287cab
server: Always block overlapped device requests until driver dispatches them.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-23 22:18:32 +02:00
Jacek Caban
c09a903bfa
ntdll: Introduce wait_async helper.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-23 22:18:31 +02:00
Alexandre Julliard
b8743f1f0b
ntdll: Set LDR_WINE_INTERNAL flag also for PE builtins.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-20 10:15:17 +02:00
Alexandre Julliard
6c41cc6152
winebuild: Support relay debugging for PE builtin dlls.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-16 22:55:50 +02:00
Huw Davies
3e927c4aec
ntdll: Extend NtGetTickCount() to return 64-bits. Forward kernel32 functions to it.
...
Marking the function as DECLSPEC_HOTPATCH to avoid reopening
https://bugs.winehq.org/show_bug.cgi?id=36486 . Even with -fno-PIC,
without DECLSPEC_HOTPATCH the generated code has a pushl at offset 7
that triggers the failure.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-16 20:54:23 +02:00
Huw Davies
6b47a72e4a
ntdll: Mark monotonic_counter() as inline.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-16 20:54:23 +02:00
Alexandre Julliard
170bd8f361
include: Pass function name directly to the __ASM_STDCALL macro.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-16 19:00:10 +02:00
Alexandre Julliard
10584d2057
include: Use the __fastcall attribute directly for the Windows build.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-16 14:07:15 +02:00
Martin Storsjo
044461e8a6
ntdll: Avoid truncating a nonzero exit code to zero in unix.
...
On Windows, the exit codes can use the full 32 bit range, while
on unix, they are truncated to the lowest 8 bits. If the intended
exit code is nonzero, to indicate failure, but the lower 8 bits
are zero (like when winedbg tries to exit with EXCEPTION_WINE_STUB,
80000100), the observed exit code used to be zero, indicating
successful execution.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-15 22:04:39 +02:00
Hans Leidekker
4872747b27
ntdll: Fix breakpoint exception address on 64-bit Linux.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-15 22:04:39 +02:00
Alexandre Julliard
62fa748f23
include: Define fastcall assembly wrappers globally.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-15 19:59:33 +02:00
Huw Davies
5c8ea25014
ntdll: Use CLOCK_REALTIME_COARSE for NtQuerySystemTime() if it has sufficient resolution.
...
This will only affect users running with HZ=1000. On an i7-8700 CPU @
3.20GHz it cuts the call cost from ~30ns to ~12ns.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 20:26:46 +02:00