Alexandre Julliard
af4c7e6e61
ntdll: Fix usage of libunwind on x86-64 on non-macOS platforms.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-18 17:07:46 +02:00
Alexandre Julliard
5f10545b19
ntdll: Don't use virtual_uninterrupted_read_memory() for invalid %gs check.
...
It doesn't work for code in system libraries. This is a partial revert
of 58139dcb12
.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47769
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-17 16:50:44 +02:00
Ken Thomases
bed4291336
ntdll: Fix the Mac build with SDKs older than 10.14.
...
Also, fix some warnings with the 10.14 SDK.
Thanks to Gijs Vermeulen for reporting the issue.
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-16 22:58:41 +02:00
Alex Henrie
6ea282c7e1
ntdll: Avoid dead initialization (scan-build).
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-16 10:14:02 +02:00
Alexandre Julliard
944c4e8f76
ntdll: Use virtual_uninterrupted_read_memory() to read code inside signal handler on i386.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-13 19:34:19 +02:00
Alexandre Julliard
17c82ddc95
ntdll: Avoid calling init_handler() twice in signal handler on i386.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-13 19:34:19 +02:00
Ken Thomases
84760a8fb2
ntdll: On Mac, use the Mach API as preferred approach to get a thread's GS.base.
...
The previous technique was a gross hack peeking at the internals of the pthreads
implementation.
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-13 10:36:06 +02:00
Dmitry Timoshkov
3b2937f7c7
ntdll: Implement RtlUnicodeToUTF8N.
...
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-12 22:47:45 +02:00
Dmitry Timoshkov
65e1ed3480
ntdll/tests: Fix compilation with PSDK compiler.
...
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-12 22:47:45 +02:00
Alexandre Julliard
2201229086
ntdll: Remove no longer needed function argument from setup_raise_exception() on ARM64.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-12 22:47:45 +02:00
Alexandre Julliard
60eb37c6be
ntdll: Handle page fault in signal handler on ARM64.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-12 22:47:44 +02:00
Alexandre Julliard
a7459d0c99
ntdll: Handle trap exception in signal handler on ARM64.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-12 22:47:44 +02:00
Alexandre Julliard
769c333c6c
ntdll: Factor out setup_raise_exception() on ARM64.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-12 22:47:44 +02:00
Alexandre Julliard
7736f3837e
ntdll: Use a stack_layout structure to build exception data on ARM64.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-12 22:47:44 +02:00
Alexandre Julliard
d9ec920fd9
ntdll: Remove no longer needed function argument from setup_raise_exception() on i386.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-12 22:47:44 +02:00
Alexandre Julliard
5501055ed5
ntdll: Handle ATL thunk emulation in signal handler on i386.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-12 22:47:44 +02:00
Alexandre Julliard
df3fad6383
ntdll: Handle page faults in signal handler on i386.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-12 21:07:05 +02:00
Alexandre Julliard
58139dcb12
ntdll: Handle invalid %gs fault in signal handler on i386.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-12 20:32:30 +02:00
Alexandre Julliard
0bd2465326
ntdll: Handle breakpoint interrupt in signal handler on i386.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-12 20:32:28 +02:00
Alexandre Julliard
846de4aef8
ntdll: Handle alignment fault in signal handler on i386.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-12 20:28:19 +02:00
Alexandre Julliard
5e2b0585cd
ntdll: Handle single step exception in signal handler on i386.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-12 20:27:39 +02:00
Alexandre Julliard
41509c0d5b
ntdll: Factor out setup_raise_exception() on i386.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-12 20:27:38 +02:00
Alexandre Julliard
04c73a8930
ntdll: Use a stack_layout structure to build exception data on i386.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-12 20:25:39 +02:00
Alexandre Julliard
6e6711d773
ntdll: Use a stack_layout structure to build exception data on x86-64.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-12 17:46:39 +02:00
Alexandre Julliard
24876bf17e
ntdll: Use virtual_uninterrupted_read_memory() to read code inside signal handler on x86-64.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-12 16:44:54 +02:00
Alexandre Julliard
0617b490b3
ntdll: Add partial implementation for IOCTL_SERIAL_GET_PROPERTIES.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-09 21:05:01 +02:00
Daniel Lehman
3462b4d1f2
ntdll/tests: Adjust timing on RtlWaitOnAddress tests.
...
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-09 16:25:55 +02:00
Alexandre Julliard
44efb1a026
ntdll: Allocate environment blocks from the process heap.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-09 16:25:55 +02:00
Alexandre Julliard
a311140f93
kernel32: Move QueryPerformanceCounter/Frequency functions to ntdll.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-09 16:25:55 +02:00
Jacek Caban
649be380b1
ntdll: Call send_debug_event from debug handler on x86_64.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-04 20:03:30 +02:00
Jacek Caban
200490b36c
ntdll: Remove no longer needed func argument from setup_raise_exception.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-04 20:03:24 +02:00
Jacek Caban
00f8790799
ntdll: Call virtual_handle_fault from signal handler on x86_64.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-04 20:03:19 +02:00
Jacek Caban
2fff34493f
ntdll: Handle interrupt exceptions in signal handler on x86_64.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-04 20:03:16 +02:00
Jacek Caban
b76df7fa6d
ntdll: Handle single step exception in setup_raise_exception on x86_64.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-04 20:03:14 +02:00
Jacek Caban
be7a8d6b7a
ntdll: Factor out setup_raise_exception.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-04 20:03:12 +02:00
Jacek Caban
bd836a6f3e
ntdll: Move setup_exception implementation.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-04 20:03:08 +02:00
Alex Henrie
363b8809f3
ntdll: Implement RtlIpv4StringToAddress(Ex)A.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46149
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-03 20:45:18 +02:00
Alex Henrie
e9ee0df5d2
ntdll: Implement RtlIpv4StringToAddress(Ex)W.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46149
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-03 20:43:07 +02:00
André Hentschel
9220772d28
ntdll: Add RtlUnwindEx spec entry for ARM64.
...
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-30 21:24:26 +02:00
Alexandre Julliard
5e8234b3c4
ntdll: Implement stack unwinding on ARM64.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-29 20:08:14 +02:00
Alexandre Julliard
d2e4a6fae0
configure: Add support for using an external libunwind.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-29 20:08:14 +02:00
Alexandre Julliard
2002c22afa
ntdll: Add a helper function for calling RtlVirtualUnwind() on x86-64.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-29 13:09:52 +02:00
Alexandre Julliard
a9755d286e
ntdll: Implement RtlVirtualUnwind() for ARM64.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-29 12:01:52 +02:00
Hans Leidekker
4e71e86747
ntdll: Read the chassis type from sysfs.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-27 20:23:43 +02:00
Alexandre Julliard
87d9fef2ae
ntdll: Take stack guarantee into account when handling stack overflows.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-26 12:04:25 +02:00
Alex Henrie
56f96c17f2
ntdll/tests: Add more tests for RtlIpv4StringToAddress.
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-23 19:38:00 +02:00
Alexandre Julliard
59f1c98e2c
ntdll: Run signal handlers on the signal stack on ARM64.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-22 14:45:03 +02:00
Alexandre Julliard
b96d15e1b0
ntdll: Add .seh annotations for x86_64.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-21 11:56:13 +02:00
Richard Yao
8d55542473
advapi32: Add EventWriteString stub.
...
"Are You Ready for Valve Index?" needs this to work.
Signed-off-by: Richard Yao <ryao@gentoo.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-19 16:13:26 +02:00
Alexandre Julliard
14e34bedbf
ntdll: Share dynamic exception table functions across platforms.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-19 13:21:47 +02:00
Alexandre Julliard
44a6043388
ntdll: Move some exception definitions to winnt.h.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-19 13:17:37 +02:00
Zebediah Figura
08fc532033
ntdll: Handle UWOP_EPILOG directives in x86_64 unwind info.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-19 11:29:28 +02:00
Zebediah Figura
7ea3a14792
ntdll: Handle version 2 unwind info on x86_64.
...
It seems this is identical to version 1, but with an additional UWOP_EPILOG
opcode.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-19 11:29:28 +02:00
Naveen Narayanan
de5392bfe7
ntdll: Set pthread stack guard size to 0 for NetBSD.
...
pthread_attr_setstack(3) in NetBSD 8.0 and newer sets the guard size
to 65536 and extends the stack beyond the specified range.
Signed-off-by: Naveen Narayanan <zerous@nocebo.space>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-13 20:27:06 +02:00
Alexandre Julliard
fc97373f62
ntdll: Fix support for breakpoint exceptions on ARM64.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-13 15:41:55 +02:00
Alexandre Julliard
3027c266fc
ntdll: Don't run exception handlers on the signal stack on ARM64.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-13 15:41:25 +02:00
Alexandre Julliard
94a98cf5a2
ntdll: Implement setting the thread context on ARM64.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-13 14:53:07 +02:00
Alexandre Julliard
1c9fdaab0f
ntdll: Save the context from the caller stack frame in RtlCaptureContext() on ARM64.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-13 14:52:23 +02:00
Alexandre Julliard
84783ed74f
ntdll: Preserve the stack red zone on ARM64.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-13 14:51:47 +02:00
Alexandre Julliard
85c01202ac
ntdll: Use the exception fault code to detect write access on ARM64.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-13 14:47:17 +02:00
Alexandre Julliard
07f37f2137
ntdll: Add support for saving/restoring FPU state on ARM64.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-13 14:44:41 +02:00
Rémi Bernon
8a765533d6
ntdll: Implement zero_bits parameter in virtual alloc functions.
...
Use alloc_area.limit field to limit the search in reserved areas to the
desired memory range, or call find_free_area to get a pointer to a free
memory region which matches the zero_bits constraint, then mmap it with
MAP_FIXED flag.
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-08-13 12:29:45 +02:00
Rémi Bernon
6672fc9d85
ntdll: Use custom internal zero_bits_64 parameter format.
...
The zero_bits parameter can be a pointer mask on Win64 and WoW64 and it
was incorrectly truncated to 16bits in APCs. Testing shows that only the
leading zeroes are used in the mask, so we can safely use the 64 based
number of leading zeroes everywhere instead.
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-08-13 12:29:45 +02:00
Rémi Bernon
f172dd03ff
ntdll/tests: Update zero_bits > 31 test case to validate bitmask behavior.
...
Only the leading zeroes are taken into account, so 0x1aaaaaaa zero_bits
behaves as 0x1fffffff
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-08-13 12:11:46 +02:00
Rémi Bernon
54ba6b0ce5
ntdll/tests: Use MEM_TOP_DOWN parameter to consistently fail zero_bits tests.
...
The todo_wine_if made the tests not really test anything, and one test
was succeeding when it shouldn't. Now we can actually remove the todo
when 1 zero_bits handling is implemented.
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-08-13 12:11:33 +02:00
Rémi Bernon
3cdb5072e8
ntdll/tests: Factor WoW64 checks and add is_win64 constant.
...
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-08-13 12:11:27 +02:00
Rémi Bernon
d1a7b681ea
ntdll: Change zero_bits parameter type to ULONG_PTR for NtMapViewOfSection and NtAllocateVirtualMemory.
...
It can be a pointer mask, eventually 64bit, and ULONG_PTR is what can be
found in several documentation of these functions.
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-08-13 12:11:15 +02:00
Rémi Bernon
5328b9e083
ntdll: Directly call internal functions from APC handler.
...
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-08-13 12:11:08 +02:00
Rémi Bernon
1aa963efd7
ntdll: Add alloc_type parameter to virtual_map_section and top_down to map_image.
...
NtMapViewOfSection also accepts the MEM_TOP_DOWN parameter that can
be used in combination with zero_bits to map memory on the highest
possible address.
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-08-13 12:11:02 +02:00
Michael Stefaniuc
724c216d18
ntdll: Remove useless cast to self.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-12 09:32:02 +02:00
Nikolay Sivov
2a15f77b49
ntdll: Ignore -1 time value same as 0 when setting file times.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-09 10:03:19 +02:00
Nikolay Sivov
3172b854ae
ntdll/tests: Add some tests for setting file times.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-09 10:03:17 +02:00
Francois Gouget
cc9ce65d96
ntdll: Add a trailing '\n' to a TRACE().
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-08 17:53:36 +02:00
Francois Gouget
4392ee399e
ntdll/tests: A spelling fix in a comment.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-08 17:53:36 +02:00
Zebediah Figura
a28736df1f
include: Add NTSTATUS severity macros.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-08 09:15:43 +02:00
Alexandre Julliard
9b6d2d3310
ntdll: Silence FIXME for LdrResolveDelayLoadedAPI().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-07 00:12:25 +02:00
Alexandre Julliard
e91e6cc9bd
ntdll: Reimplement thread initialization in assembler on ARM64.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-07 00:12:25 +02:00
Chip Davis
ca2b701249
ntdll: Stub power request APIs.
...
Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-01 19:12:03 +02:00
Chip Davis
6420ebdf93
ntdll: Move SetThreadExecutionState() implementation to ntdll.
...
Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-01 19:12:03 +02:00
Chip Davis
4e4aa46775
ntdll: Implement RtlCaptureStackBackTrace() for x86_64.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=40868
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47101
Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-01 19:12:03 +02:00
Gabriel Ivăncescu
ec4752cef2
ntdll: Define AT_NO_AUTOMOUNT if needed.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47445
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-31 09:27:58 +02:00
Jacek Caban
5e0b0d3521
server: Rename cpu_type_t to client_cpu_t.
...
To avoid conflicts with mac headers.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-05 17:43:53 +02:00
Jacek Caban
7f9faf10c7
ntdll: Implement DbgUiIssueRemoteBreakin.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-05 17:42:04 +02:00
Jacek Caban
4c2afc8ad9
ntdll: Implement _snprintf_s and _vsnprintf_s.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-03 23:44:24 +02:00
Jacek Caban
b350095b76
ntdll: Move null terminating result to pf_vsnprintf callers.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-03 23:44:24 +02:00
Hans Leidekker
5252d76003
ntdll: Use the machine ID for the system UUID on Linux.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-02 20:03:20 +02:00
Hans Leidekker
16e5c78bfe
ntdll: Use a common structure for the SMBIOS table entry header.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-02 20:02:32 +02:00
Hans Leidekker
bd8ce4c1b1
ntdll: Fix sysfs path for the product name.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-02 20:02:27 +02:00
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
Huw Davies
aa4570fedd
ntdll: Implement RtlGetSystemTimePrecise().
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 20:24:45 +02:00
Alexandre Julliard
d5a372abbb
include: Move inline assembly definitions to a new wine/asm.h header.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 13:45:07 +02:00
Alexandre Julliard
6fc259a57d
ntdll: Use strncmpiW instead of memicmpW for strings without embedded nulls.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-08 08:34:32 -05:00
Alexandre Julliard
6466a17a8e
ntdll: Reset stdio file descriptors when passed invalid handles.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-07 15:03:58 -05:00
Alexandre Julliard
7c0385bdb4
ntdll: Check for time conversion error to silence a compiler warning.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-30 20:25:11 +02:00
Nikolay Sivov
fe0f8a150f
ntdll: Initialize critical section debug info with correct pointer value.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-30 20:08:04 +02:00
Nikolay Sivov
9fcb2c8822
ntdll: Account for null terminating char in unload traces (Coverity).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-30 20:05:27 +02:00
Michael Stefaniuc
21f3bf53dc
ntdll/tests: Avoid the comma operator.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-29 22:23:34 +02:00
Jacek Caban
c448550e74
ntoskrnl.exe/tests: Add more NtOpenThread tests.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-23 23:50:45 +02:00
Alexandre Julliard
70d17d3929
ntdll: Use the correct type for %llu scanf format.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-23 23:50:45 +02:00
Nikolay Sivov
5431409bd3
ntdll: Implement RtlGetUnloadEventTrace()/RtlGetUnloadEventTraceEx().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-23 23:50:44 +02:00
Nikolay Sivov
91763843b7
ntdll/tests: Add some tests for unloaded modules traces.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-23 23:50:44 +02:00