Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
b337c5b1
Commit
b337c5b1
authored
Jun 02, 2023
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ntdll: Use the default ABI for all functions on the Unix side.
parent
48537f4e
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
33 additions
and
8 deletions
+33
-8
signal_x86_64.c
dlls/ntdll/unix/signal_x86_64.c
+24
-7
corecrt.h
include/msvcrt/corecrt.h
+4
-0
windef.h
include/windef.h
+5
-1
No files found.
dlls/ntdll/unix/signal_x86_64.c
View file @
b337c5b1
...
...
@@ -2694,10 +2694,12 @@ __ASM_GLOBAL_FUNC( __wine_syscall_dispatcher,
"leaq -0x98(%rbp),%rcx
\n
"
"2:
\n\t
"
#endif
"leaq 0x28(%rsp),%rsi
\n\t
"
/* first argument */
"movq 0x28(%rsp),%r12
\n\t
"
/* 5th argument */
"movq 0x30(%rsp),%r13
\n\t
"
/* 6th argument */
"leaq 0x38(%rsp),%rsi
\n\t
"
/* 7th argument */
"movq %rcx,%rsp
\n\t
"
"movq 0x00(%rcx),%rax
\n\t
"
"movq 0x18(%rcx),%r
dx
\n\t
"
"movq 0x18(%rcx),%r
11
\n\t
"
/* 2nd argument */
"movl %eax,%ebx
\n\t
"
"shrl $8,%ebx
\n\t
"
"andl $0x30,%ebx
\n\t
"
/* syscall table number */
...
...
@@ -2708,7 +2710,7 @@ __ASM_GLOBAL_FUNC( __wine_syscall_dispatcher,
"jae 5f
\n\t
"
"movq 24(%rbx),%rcx
\n\t
"
/* table->ArgumentTable */
"movzbl (%rcx,%rax),%ecx
\n\t
"
"subq $0x
2
0,%rcx
\n\t
"
"subq $0x
3
0,%rcx
\n\t
"
"jbe 1f
\n\t
"
"subq %rcx,%rsp
\n\t
"
"shrq $3,%rcx
\n\t
"
...
...
@@ -2716,8 +2718,12 @@ __ASM_GLOBAL_FUNC( __wine_syscall_dispatcher,
"movq %rsp,%rdi
\n\t
"
"cld
\n\t
"
"rep; movsq
\n
"
"1:
\t
movq %r10,%rcx
\n\t
"
"subq $0x20,%rsp
\n\t
"
"1:
\t
movq %r10,%rdi
\n\t
"
/* 1st argument */
"movq %r11,%rsi
\n\t
"
/* 2nd argument */
"movq %r8,%rdx
\n\t
"
/* 3rd argument */
"movq %r9,%rcx
\n\t
"
/* 4th argument */
"movq %r12,%r8
\n\t
"
/* 5th argument */
"movq %r13,%r9
\n\t
"
/* 6th argument */
"movq (%rbx),%r10
\n\t
"
/* table->ServiceTable */
"callq *(%r10,%rax,8)
\n\t
"
"leaq -0x98(%rbp),%rcx
\n\t
"
...
...
@@ -2732,8 +2738,19 @@ __ASM_GLOBAL_FUNC( __wine_syscall_dispatcher,
"1:
\n\t
"
#endif
"testl $0x48,%edx
\n\t
"
/* CONTEXT_FLOATING_POINT | CONTEXT_XSTATE */
"jz 4f
\n\t
"
"testl $3,%r14d
\n\t
"
/* SYSCALL_HAVE_XSAVE | SYSCALL_HAVE_XSAVEC */
"jnz 2f
\n\t
"
"movaps 0x1c0(%rcx),%xmm6
\n\t
"
"movaps 0x1d0(%rcx),%xmm7
\n\t
"
"movaps 0x1e0(%rcx),%xmm8
\n\t
"
"movaps 0x1f0(%rcx),%xmm9
\n\t
"
"movaps 0x200(%rcx),%xmm10
\n\t
"
"movaps 0x210(%rcx),%xmm11
\n\t
"
"movaps 0x220(%rcx),%xmm12
\n\t
"
"movaps 0x230(%rcx),%xmm13
\n\t
"
"movaps 0x240(%rcx),%xmm14
\n\t
"
"movaps 0x250(%rcx),%xmm15
\n\t
"
"jmp 4f
\n
"
"2:
\t
testl $3,%r14d
\n\t
"
/* SYSCALL_HAVE_XSAVE | SYSCALL_HAVE_XSAVEC */
"jz 3f
\n\t
"
"movq %rax,%r11
\n\t
"
"movl $7,%eax
\n\t
"
...
...
include/msvcrt/corecrt.h
View file @
b337c5b1
...
...
@@ -29,6 +29,10 @@
# error You cannot use config.h with msvcrt
#endif
#ifdef WINE_UNIX_LIB
# error msvcrt headers cannot be used in Unix code
#endif
#ifndef _WIN32
# define _WIN32
#endif
...
...
include/windef.h
View file @
b337c5b1
...
...
@@ -54,7 +54,11 @@ extern "C" {
# endif
#endif
#if !defined(_MSC_VER) && !defined(__MINGW32__)
#ifdef WINE_UNIX_LIB
# define __stdcall
# define __cdecl
# define __fastcall
#elif !defined(_MSC_VER) && !defined(__MINGW32__)
# undef __stdcall
# ifdef __i386__
# ifdef __GNUC__
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment