Commit Graph

5925 Commits

Author SHA1 Message Date
Alexandre Julliard 390d71b091 ntdll: Also load the Wow64 ntdll for the main exe target machine.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-07 16:33:29 +02:00
Alexandre Julliard 3190a5bcdd ntdll: Make the ntdll exports and relocations processing more generic.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-07 16:33:29 +02:00
Zebediah Figura e49e79de99 ws2_32: Move the setsockopt(IP_DROP_SOURCE_MEMBERSHIP) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-07 11:33:26 +02:00
Zebediah Figura af3efd38ab ws2_32: Move the setsockopt(IP_DROP_MEMBERSHIP) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-07 11:33:23 +02:00
Alexandre Julliard 216d241178 winebuild: Save/restore the %fs register in the syscall dispatcher on Linux.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-06 15:50:26 +02:00
Alexandre Julliard c42384b5a1 ntdll: Switch back to the pthread %fs register in signal handlers.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-06 15:50:26 +02:00
Alexandre Julliard a7b6b4f0d0 ntdll: Allocate a 32-bit %fs selector on Linux in Wow64 mode.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-06 15:50:25 +02:00
Alexandre Julliard cec3db10f4 ntdll: Store the pthread TEB value on thread init.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-06 12:31:53 +02:00
Francois Gouget e72c71d27d ntdll/tests: Improve the RtlWaitOnAddress() timeout checks.
GetTickCount()'s granularity represents 15% of the time we want to
mesure, making it hard to not get failures. So use NtQuerySystemTime()
instead since we already depend on it.
Narrow down the acceptable range again.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-05 19:55:37 +02:00
Francois Gouget 4e91180471 ntdll/tests: TZinfo sometimes does not get a MUI string.
RtlQuery*TimeZoneInformation() should return a MUI string but
there are rare cases where it does not in Windows 10 2004.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-05 19:55:35 +02:00
Zebediah Figura bedd92ca06 server: Explicitly return whether a select request was immediately signaled.
This fixes a regression introduced by 97afac469f.

If we make a request on an asynchronous device handle, and the IRP handler
returns STATUS_PENDING, wait_async() will return STATUS_PENDING, as intended.
However, if the async object is signaled before the user has a chance to call
wait_async() [e.g. if get_next_device_request is called quickly enough], select
will return STATUS_PENDING immediately, which causes server_select() to think
the object is not signaled, and wait for a select reply forever.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51277
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51295
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-05 19:55:18 +02:00
Alexandre Julliard 5d9586a60b ntdll: Get rid of the almost empty virtual.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-05 13:44:03 +02:00
Alexandre Julliard 73a281104b ntdll: Get rid of the almost empty directory.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-05 13:44:03 +02:00
Alexandre Julliard d4509765a6 ntdll: Get rid of the almost empty nt.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-05 13:44:03 +02:00
Alexandre Julliard 9a224788b7 ntdll: Forward RtlGetNativeSystemInformation() to NtWow64GetNativeSystemInformation() on 32-bit.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-05 13:44:03 +02:00
Alexandre Julliard 0426430563 ntdll: Implement NtWow64GetNativeSystemInformation().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-05 13:41:30 +02:00
Alexandre Julliard 5071a28743 ntdll: Implement SystemEmulation* information classes.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-05 13:41:27 +02:00
Alexandre Julliard c6919423a8 ntdll/tests: Retrieve the actual segment registers for RtlWow64GetThreadSelectorEntry test.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-02 12:39:12 +02:00
Zebediah Figura 42e0155f50 ws2_32: Move the setsockopt(IP_DONTFRAGMENT) implementation to ntdll.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-02 10:02:08 +02:00
Zebediah Figura f38bb98a49 ws2_32: Move the getsockopt(IP_DONTFRAGMENT) implementation to ntdll.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-02 10:02:08 +02:00
Zebediah Figura 1276c73feb ws2_32: Move the setsockopt(IP_BLOCK_SOURCE) implementation to ntdll.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-02 10:02:08 +02:00
Zebediah Figura 1749a43cc7 ws2_32: Move the setsockopt(IP_ADD_SOURCE_MEMBERSHIP) implementation to ntdll.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-02 10:02:08 +02:00
Alexandre Julliard eb69da2a9c ntdll: Implement NtQueryInformationToken(TokenSessionId).
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46595
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-01 22:34:31 +02:00
Alexandre Julliard b20cbd0d57 ntdll: Return the session id in NtQuerySystemInformation(SystemProcessInformation).
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-01 22:34:31 +02:00
Alexandre Julliard bf4105b731 ntdll: Implement NtQueryInformationProcess(ProcessSessionInformation).
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-01 22:34:31 +02:00
Alexandre Julliard ad93413c71 server: Store session id in the process and return it at process init time.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-01 22:34:31 +02:00
Zebediah Figura 151370c478 ntdll/tests: Add more tests for deleted keys.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-01 22:34:31 +02:00
Zebediah Figura e759da260e server: Use a separate request to retrieve the object name.
A deleted key returns STATUS_KEY_DELETED when ObjectNameInformation is
requested, but succeeds when ObjectBasicInformation is requested.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-01 22:34:31 +02:00
Alexandre Julliard 11d6c52f32 ntdll: Use the CPU area to get/set the Wow64 context on x86-64.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-01 12:46:00 +02:00
Alexandre Julliard 4acecd8619 ntdll: Initialize the Wow64 context on x86-64.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-01 12:46:00 +02:00
Alexandre Julliard bedfb31d7c ntdll: Add a helper function to retrieve the CPU area context on the Unix side.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-01 12:46:00 +02:00
Alexandre Julliard 8794879335 ntdll: Clear the 32-bit TLS for ZeroTlsCell in Wow64 mode.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-01 10:32:24 +02:00
Alexandre Julliard 3469ebf90e ntdll: Implement RtlWow64GetThreadSelectorEntry().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-01 10:32:24 +02:00
Zebediah Figura 96766e6794 ws2_32: Move the setsockopt(IP_ADD_MEMBERSHIP) implementation to ntdll.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-01 08:37:50 +02:00
Roman Pišl 0ec555e58e ntdll: Don't pretend that the whole address space is reserved on non-i386.
This is analogous to 61dcca5dbf.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50735
Signed-off-by: Roman Pišl <rpisl@seznam.cz>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-30 20:01:20 +02:00
Alexandre Julliard 17716bc7f3 ntdll: Implement RtlWow64GetCurrentCpuArea().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-30 18:46:16 +02:00
Alexandre Julliard c9d23a15ce ntdll/tests: Add tests for RtlWow64GetCurrentCpuArea().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-30 18:46:16 +02:00
Alexandre Julliard 7700467a38 ntdll/tests: Add tests for 64-bit modules in Wow64 mode.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-30 18:46:16 +02:00
Zebediah Figura 9eea22f724 ws2_32: Move the setsockopt(SO_REUSEADDR) implementation to ntdll.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-29 19:55:22 +02:00
Zebediah Figura f7cb96e53c ws2_32: Move the getsockopt(SO_REUSEADDR) implementation to ntdll.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-29 19:55:22 +02:00
Alexandre Julliard 7404ef3ef5 ntdll: Don't rely on get_thread_context() updating the context flags.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-29 15:25:42 +02:00
Alexandre Julliard 19f19d0e2e ntdll: Implement NtWow64AllocateVirtualMemory64().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-29 14:51:25 +02:00
Alexandre Julliard bfd2d1d77d ntdll: Implement NtWow64Read/WriteVirtualMemory64().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-29 12:42:57 +02:00
Bernhard Übelacker cbf7a10176 ntdll: Allow 16-bit executables to be loaded from build directory.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51214
Signed-off-by: Bernhard Übelacker <bernhardu@mailbox.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-29 12:42:22 +02:00
Qian Hong 4e84a553a8 ntdll: Truncate files through the server.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-29 12:37:25 +02:00
Qian Hong 73d0bb7740 server: Forbid deleting files with an open mapping.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-28 19:43:27 +02:00
Qian Hong 7316122011 ntdll/tests: Test deleting files with an open mapping.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-28 19:43:27 +02:00
Alexandre Julliard 364099f528 ntdll: Avoid crash on shutting down partially initialized thread.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-27 19:32:48 +02:00
Alexandre Julliard ee65ea88ee ntdll: Only update the data that was requested in the destination context.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-27 11:42:32 +02:00
Alexandre Julliard 8ac411ed6d server: Support both native and wow64 register contexts.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-27 11:42:32 +02:00