Alexandre Julliard
f9ee0d2f05
tools: Avoid using wine/port.h.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-07 18:03:11 +02:00
Alexandre Julliard
3eb1855c7e
winebuild: Avoid using getopt_long().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-05 11:53:08 +02:00
Zebediah Figura
ea66623c3c
winebuild: Move the CALL32_CBClient[Ex]_RetAddr implementation to krnl386.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-04 11:00:23 +02:00
Zebediah Figura
1f3eb3996d
winebuild: Move the CALL32_CBClient[Ex] implementation to krnl386.
...
Except for the return thunk.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-04 10:59:35 +02:00
Alexandre Julliard
9e3959bd9b
tools: Add a few helper functions for file names and extensions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-29 21:38:11 +02:00
Alexandre Julliard
55701c6672
tools: Add a helper function to create temp files.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-29 21:38:11 +02:00
Alexandre Julliard
2a08d6ce80
tools: Add helper functions to spawn a command from an strarray.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-28 18:18:49 +02:00
Alexandre Julliard
97ca9f8a3d
tools: Add a shared header for common helper functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-28 17:38:06 +02:00
Alexandre Julliard
c878a0a4c0
winebuild: Use strarrays for the argument lists.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-23 14:45:39 +02:00
Alexandre Julliard
d6d5a21721
winebuild: Unify the strarray implementation with the one from makedep.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-23 14:45:39 +02:00
Alexandre Julliard
ea6308e364
ntdll: Declare the syscall functions array explicitly.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-30 22:49:58 +02:00
Alexandre Julliard
7ae1c396ac
ntdll: Store the syscall argument table on the PE side.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-30 22:49:58 +02:00
Alexandre Julliard
3513a176fd
winebuild: Add an option to set the syscall table id.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-30 22:49:58 +02:00
Alexandre Julliard
ff04d8a4c2
ntdll: Move the syscall dispatcher implementation to the platform-specific files.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-26 11:25:38 +02:00
Alexandre Julliard
847db3c1d3
ntdll: Store the syscall table in the syscall frame on all platforms.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-26 10:47:38 +02:00
Alexandre Julliard
77f5e2963f
ntdll: Store the syscall flags in the syscall frame on all platforms.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-26 10:47:38 +02:00
Alexandre Julliard
8ee30e6dcc
winebuild: Fix 64-bit argument alignment on ARM.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-25 15:15:10 +02:00
Alexandre Julliard
94f63ea23f
ntdll: Add support for user callbacks.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-17 18:16:43 +02:00
Martin Storsjö
5de4766475
winebuild: Fix building for arm with older versions of binutils.
...
Use an explicit "movw" instead of a plain "mov", as the immediates
might not fit in a narrow thumb mov instruction. Newer versions
of binutils deduces this implicitly.
Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-03 23:41:05 +02:00
Martin Storsjo
9d619b1fb0
winebuild: Spell out "x30" instead of "lr" for arm64.
...
This fixes building with older binutils versions.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-02 11:31:48 +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
5e12256ec4
winebuild: Add a specific platform id for Linux.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-06 15:50:26 +02:00
Alexandre Julliard
db26df5934
ntdll: Go through the syscall return path for syscall faults.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-21 18:35:20 +02:00
Alexandre Julliard
0702d6b886
ntdll: Don't allow single-stepping through syscalls.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51273
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-16 15:05:24 +02:00
Alexandre Julliard
7954b86f6b
ntdll: Switch to the kernel stack for syscalls on ARM.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-11 18:45:44 +02:00
Alexandre Julliard
08c4419a49
ntdll: Switch to the kernel stack for syscalls on ARM64.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-11 18:45:44 +02:00
Alexandre Julliard
25b093f384
ntdll: Switch to the kernel stack for syscalls on x86-64.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-11 18:45:44 +02:00
Alexandre Julliard
308a5e7c4d
ntdll: Switch to the kernel stack for syscalls on i386.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-11 15:49:29 +02:00
Alexandre Julliard
050378d4d7
ntdll: Only restore the modified parts of the syscall frame on i386.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-07 17:16:21 +02:00
Alexandre Julliard
32f1bfd0f0
ntdll: Only restore the modified parts of the syscall frame on x86-64.
...
Based on a patch by Jacek Caban.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-07 17:16:21 +02:00
Zebediah Figura
bbe2eaecc9
winebuild: Fix a typo in a comment.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-03 21:50:58 +02:00
Alexandre Julliard
42e42e9085
ntdll: Use a single syscall dispatcher controlled by global flags on i386.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-02 20:16:07 +02:00
Alexandre Julliard
3d9cb5e4f8
ntdll: Use a single syscall dispatcher controlled by global flags on x86-64.
...
Based on a patch by Jacek Caban.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-02 20:16:07 +02:00
Alexandre Julliard
e79fa1866c
winebuild: Add support for multiple syscall descriptor tables.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-28 21:53:07 +02:00
Alexandre Julliard
543e49397f
winebuild: Store all parameters on the stack for syscall thunks on ARM.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-27 21:13:18 +02:00
Jacek Caban
ea239f6b12
winebuild: Use clang -print-prog-name to find LLVM tools.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-10 18:14:07 +02:00
Jacek Caban
e979ee96b6
ntdll: Use xsave compaction in syscall dispatcher.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-03 21:54:45 +01:00
Jacek Caban
af74bd3122
ntdll: Use syscall dispatcher to restore context in NtSetContextThread.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-02 20:41:39 +01:00
Jacek Caban
5d228d6fc9
ntdll: Store x86 YMM context insyscall dispatcher.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-02 20:40:49 +01:00
Jacek Caban
ce5f17c892
ntdll: Store FPU and XMM contexts in x86 syscall frame.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-01 21:13:00 +01:00
Jacek Caban
e341d1f695
ntdll: Restore all non-volatile i386 registers in syscall dispatcher.
...
Based on set_full_cpu_context.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-01 21:13:00 +01:00
Jacek Caban
b04f2689a2
ntdll: Store all non-volatile i386 registers in syscall dispatcher.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-25 22:44:18 +01:00
Jacek Caban
c6d303ca23
ntdll: Reserve space for full i386 context in syscall frame.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-25 22:43:19 +01:00
Alexandre Julliard
abf4747ba7
winebuild: Simplify constant loading on ARM.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-24 22:01:42 +01:00
Alexandre Julliard
b1fe783ade
winebuild: Fix relay entry points for Thumb mode.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-24 22:01:42 +01:00
Alexandre Julliard
4ef8e946f1
winebuild: Set Thumb bit in CPSR register on syscall entry.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-24 22:01:42 +01:00
Jacek Caban
a8856381ed
ntdll: Use xsavec in x86_64 syscall dispatcher.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-22 20:19:17 +01:00
Jacek Caban
437bef6ac1
ntdll: Use syscall dispatcher for restoring context in x86_64 NtSetContextThread implementation.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-22 20:19:15 +01:00
Jacek Caban
11e3d43c26
ntdll: Store x86_64 YMM context in syscall frame.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-19 23:46:30 +01:00
Jacek Caban
a06d60bd5f
winebuild: Factor out output_syscall_dispatcher.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-19 23:46:30 +01:00