Jinoh Kang
f37b953e07
ntdll: Support both HP-UX-like libunwind and LLVM libunwind error codes.
...
HP-UX libunwind uses the sign of error code to indicate whether the
operation was successful; however, LLVM always returns positive error
codes.
Normalise the sign of the error code so that it handles all flavours of
libunwind.
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 18:43:51 +01:00
Alexandre Julliard
411592bf45
configure: Assume that sys/wait.h is available on Unix.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 18:43:51 +01:00
Alexandre Julliard
e5d69d9ee6
configure: Assume that sys/ioctl.h is available on Unix.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 18:43:51 +01:00
Alexandre Julliard
b3ca48f39c
configure: Assume that sys/time.h is available on Unix.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 18:43:51 +01:00
Alexandre Julliard
a7ac3de3b3
configure: Assume that sys/socket.h is available on Unix.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 18:43:51 +01:00
Alexandre Julliard
e3001b6a7c
configure: Assume that sys/mman.h is available on Unix.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 18:43:51 +01:00
Alexandre Julliard
13ec7952e0
configure: Assume that unistd.h is available on Unix.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 18:43:51 +01:00
Alexandre Julliard
7d5af65591
configure: Assume that termios.h is available on Unix.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 18:43:50 +01:00
Alexandre Julliard
4f58d8144c
ntdll: Remove __wine_init_unix_lib() and the old Unix library interface.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 17:14:59 +01:00
Jinoh Kang
1886b3d322
ntdll: Fix valid frame address range in ARM/ARM64.
...
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 17:14:59 +01:00
Jinoh Kang
3e2f443003
server: Fix querying debug port with restricted DACL.
...
Today, Wine uses NtQueryInformationProcess/ProcessDebugPort to detect
whether the current process is being debugged. If it is, the process
issues a breakpoint to yield control to the debugger.
Some debuggers (e.g. latest CDB) appear to create debug handles with
restricted DACL, which causes querying debug port to fail with
STATUS_ACCESS_DENIED. This results in the debuggee erroneously
skipping the initial breakpoint.
Fix this by not requiring DEBUG_ALL_ACCESS when opening the debug port
object. Instead, use MAXIMUM_ALLOWED for the access mask.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52184
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 17:14:59 +01:00
Jinoh Kang
ee4d38c3b1
ntdll/tests: Add tests for DebugPort* info query with security checks.
...
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 17:14:59 +01:00
Jacek Caban
1facdbbdcb
ntdll: Temporarily allow KeUserModeCallback calls from client stack.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 10:47:41 +01:00
Paul Gofman
d2e35b04fb
ntdll: Remove a special case for entry point not in executable section in map_image_into_view().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-08 22:14:44 +01:00
Alexandre Julliard
0b3d65f822
ntdll: Don't restore the %fs register for exceptions happening inside system calls.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-08 15:02:58 +01:00
Alexandre Julliard
cdafebed15
include: Document remaining fields in the SYSTEM_PROCESS_INFORMATION structure.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-08 13:19:48 +01:00
Damjan Jovanovic
36af18a4f1
ntdll: Implement fill_battery_state() on FreeBSD.
...
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-07 21:54:57 +01:00
Alexandre Julliard
456e76185d
ntdll: Don't return a default Unix handle for modules that don't have a Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-07 16:19:48 +01:00
Bernhard Übelacker
c488f29122
server: Return ReadDataAvailable value for FilePipeLocalInformation.
...
Makes Cygwin mintty.exe or script.exe show output, if the
stack issues got worked around.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47808
Signed-off-by: Bernhard Übelacker <bernhardu@mailbox.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-06 22:55:07 +01:00
Jactry Zeng
03649e5fb4
ntdll: Fix compilation for ARM64 Apple platform.
...
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
Signed-off-by: Jactry Zeng <jzeng@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-06 16:36:51 +01:00
Paul Gofman
c338a6ff99
ntdll: Support THREAD_CREATE_FLAGS_HIDE_FROM_DEBUGGER thread creation flag.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-06 12:20:34 +01:00
Paul Gofman
3f20261eaf
ntdll: Set rcx on exit from syscall dispatcher on x64.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-03 19:31:55 +01:00
Brendan Shanks
e7afddd2c1
ntdll: Rename THREAD_DESCRIPTION_INFORMATION to THREAD_NAME_INFORMATION.
...
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-02 20:20:40 +01:00
Brendan Shanks
65dd060a67
ntdll: Rename ThreadDescription to ThreadNameInformation.
...
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-02 20:20:40 +01:00
Vijay Kiran Kamuju
78fbea1672
ntdll: Add stub RtlLookupElementGenericTable function.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49426
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-02 20:20:39 +01:00
Vijay Kiran Kamuju
87c7648f15
ntdll: Add stub RtlGetElementGenericTable function.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49426
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-02 20:20:39 +01:00
Vijay Kiran Kamuju
df678a4ec6
ntdll: Implement RtlNumberGenericTableElements.
...
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-02 20:20:39 +01:00
Vijay Kiran Kamuju
82a4f2e0ec
ntdll: Implement RtlInitializeGenericTable.
...
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-02 20:20:39 +01:00
Alexandre Julliard
a041075cd2
makefiles: Support per-platform values for EXTRADLLFLAGS.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-02 20:20:39 +01:00
Alexandre Julliard
d10410eac2
ntdll: Add fallback implementations for the Unix library functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-02 20:20:39 +01:00
Alexandre Julliard
1b447409cb
ntdll: Set the TEB offset for Wow64 mode also in 64-bit.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-02 20:20:39 +01:00
Alexandre Julliard
679a2f531b
ntdll: Don't try to convert binaries to 64-bit in Wow64 mode.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-02 20:20:39 +01:00
Paul Gofman
4094767634
ntdll/tests: Fix iret to invalid selector test on x64.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-01 18:13:53 +01:00
Alexandre Julliard
47f59be21f
ntdll: Don't clear x86-64 registers when receiving a 32-bit context.
...
They can still be valid if running in Wow64 mode.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-01 18:13:53 +01:00
Alexandre Julliard
e5e857c290
ntdll: Add support for dispatching exception from 32-bit code in Wow64 mode.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-01 18:13:53 +01:00
Zebediah Figura
518a175cba
ntdll: Remove the no longer used "mutex" argument to server_select().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-01 09:59:37 +01:00
Huw Davies
3ac41371f9
ntdll: Move the FILE ptr into the blocks that use it.
...
This is to prevent compiler warnings on non-linux platforms.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-30 22:07:21 +01:00
Alexandre Julliard
035f8ad8ad
ntdll: Export some Unicode string functions for use in other Unix libraries.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-30 22:07:20 +01:00
Jinoh Kang
a4ffa1e7e2
ntdll: Implement NtCompareObjects.
...
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-29 23:25:46 +01:00
Jinoh Kang
47c365606f
ntdll/tests: Add tests for NtCompareObjects.
...
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-29 23:25:46 +01:00
Jinoh Kang
3b37584316
server: Implement the \??\GLOBALROOT symbolic link.
...
\??\GLOBALROOT is a well-known NT symbolic link that allows applications
to access the NT object manager's root namespace via Win32 APIs.
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-25 21:43:49 +01:00
Jinoh Kang
9f0df41a6c
ntdll: Save/restore FPU context in arm64 signal handlers.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51996
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-25 21:35:20 +01:00
Paul Gofman
6747ecdefd
ntdll: Fix context arch flag cleanup for AMD64 in context_from_server().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-25 21:24:59 +01:00
Zebediah Figura
bfbccf1a03
ntdll: Prevent loading Wine system dependencies in place of identically named application DLLs.
...
That is, load Wine system dependencies only when they are imported from Wine
builtins or other system dependencies, and do not match a Wine system dependency
by its base name when looking for already-loaded modules.
The reasoning is that it is possible for an application to ship, and expect to
use, a newer version of a MinGW-compiled library, or one with custom patches, or
possibly an unrelated library with the same name. We don't want to offer Wine's
system dependencies in place of the application's, or vice versa.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-24 15:30:10 +01:00
Zebediah Figura
7e926a9aa9
ntdll: Allow loading system DLLs from a path specified at configure time.
...
Many distributions provide MinGW-compiled system DLLs which are currently
bundled with Wine. Unfortunately, while MinGW pkg-config can be used to detect
the linking path, there is no standardized runtime path, and many distributions
in fact use different paths.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-24 15:30:09 +01:00
Alexandre Julliard
f10a85de60
ntdll: Merge the calls to find_builtin_without_file().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-24 14:58:12 +01:00
Alexandre Julliard
afb6f1696e
ntdll: Add a helper function to append .dll to a module name.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-24 14:58:12 +01:00
Alexandre Julliard
eb6a9151d6
ntdll: Add a helper function to build an import dll name.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-24 14:58:12 +01:00
Alexandre Julliard
95931fcd36
ntdll: Fix a buffer overflow in environment variable expansion.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52093
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-23 21:02:11 +01:00
Nick Fox
ef26f7bd5c
ntdll: Fix LdrGetDllPath with LOAD_WITH_ALTERED_SEARCH_PATH without a path.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=26350
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51821
Signed-off-by: Nick Fox <nick@foxsec.net>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-22 22:20:50 +01:00