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
fea66c28
Commit
fea66c28
authored
Oct 29, 2019
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
kernel32/tests: Enable the ExitProcess() test on ARM64.
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
43d24ffb
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
15 additions
and
7 deletions
+15
-7
loader.c
dlls/kernel32/tests/loader.c
+15
-7
No files found.
dlls/kernel32/tests/loader.c
View file @
fea66c28
...
...
@@ -683,7 +683,9 @@ static NTSTATUS map_image_section( const IMAGE_NT_HEADERS *nt_header, const IMAG
else
ok
(
0
,
"%u: got unexpected path %s instead of %s
\n
"
,
line
,
wine_dbgstr_w
(
path
),
wine_dbgstr_w
(
load_test_name
));
pLdrUnloadDll
(
ldr_mod
);
}
else
if
(
ldr_status
==
STATUS_DLL_INIT_FAILED
||
ldr_status
==
STATUS_ACCESS_VIOLATION
)
else
if
(
ldr_status
==
STATUS_DLL_INIT_FAILED
||
ldr_status
==
STATUS_ACCESS_VIOLATION
||
ldr_status
==
STATUS_ILLEGAL_INSTRUCTION
)
{
/* some dlls with invalid entry point will crash, but this means we loaded the test dll */
ok
(
!
expect_fallback
,
"%u: got test dll but expected fallback
\n
"
,
line
);
...
...
@@ -2953,6 +2955,7 @@ static void child_process(const char *dll_name, DWORD target_offset)
static
void
test_ExitProcess
(
void
)
{
#if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__)
#include "pshpack1.h"
#ifdef __x86_64__
static
struct
section_data
...
...
@@ -2961,13 +2964,20 @@ static void test_ExitProcess(void)
void
*
target
;
BYTE
jmp_rax
[
2
];
}
section_data
=
{
{
0x48
,
0xb8
},
dll_entry_point
,
{
0xff
,
0xe0
}
};
#el
se
#el
if defined(__i386__)
static
struct
section_data
{
BYTE
mov_eax
;
void
*
target
;
BYTE
jmp_eax
[
2
];
}
section_data
=
{
0xb8
,
dll_entry_point
,
{
0xff
,
0xe0
}
};
#elif defined(__aarch64__)
static
struct
section_data
{
DWORD
ldr
;
/* ldr x0,target */
DWORD
br
;
/* br x0 */
void
*
target
;
}
section_data
=
{
0x58000040
,
0xd61f0000
,
dll_entry_point
};
#endif
#include "poppack.h"
DWORD
dummy
,
file_align
;
...
...
@@ -2986,11 +2996,6 @@ static void test_ExitProcess(void)
SIZE_T
size
;
IMAGE_NT_HEADERS
nt_header
;
#if !defined(__i386__) && !defined(__x86_64__)
skip
(
"x86 specific ExitProcess test
\n
"
);
return
;
#endif
if
(
!
pRtlDllShutdownInProgress
)
{
win_skip
(
"RtlDllShutdownInProgress is not available on this platform (XP+)
\n
"
);
...
...
@@ -3440,6 +3445,9 @@ if (0)
ret
=
DeleteFileA
(
dll_name
);
ok
(
ret
,
"DeleteFile error %d
\n
"
,
GetLastError
());
#else
skip
(
"x86 specific ExitProcess test
\n
"
);
#endif
}
static
PVOID
WINAPI
failuredllhook
(
ULONG
ul
,
DELAYLOAD_INFO
*
pd
)
...
...
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