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
631a43c5
Commit
631a43c5
authored
Feb 27, 2024
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ntdll: Use a .seh handler in RtlUserThreadStart on ARM64EC.
parent
8e26b7e0
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
18 additions
and
10 deletions
+18
-10
signal_arm64ec.c
dlls/ntdll/signal_arm64ec.c
+18
-10
No files found.
dlls/ntdll/signal_arm64ec.c
View file @
631a43c5
...
...
@@ -1740,17 +1740,25 @@ void WINAPI RtlRaiseException( struct _EXCEPTION_RECORD * rec)
/***********************************************************************
* RtlUserThreadStart (NTDLL.@)
*/
void
WINAPI
RtlUserThreadStart
(
PRTL_THREAD_START_ROUTINE
entry
,
void
*
arg
)
void
__attribute__
((
naked
))
RtlUserThreadStart
(
PRTL_THREAD_START_ROUTINE
entry
,
void
*
arg
)
{
__TRY
{
pBaseThreadInitThunk
(
0
,
(
LPTHREAD_START_ROUTINE
)
entry
,
arg
);
}
__EXCEPT
(
call_unhandled_exception_filter
)
{
NtTerminateProcess
(
GetCurrentProcess
(),
GetExceptionCode
()
);
}
__ENDTRY
asm
(
".seh_proc RtlUserThreadStart
\n\t
"
"stp x29, x30, [sp, #-16]!
\n\t
"
".seh_save_fplr_x 16
\n\t
"
".seh_endprologue
\n\t
"
"adrp x11, pBaseThreadInitThunk
\n\t
"
"ldr x11, [x11, #:lo12:pBaseThreadInitThunk]
\n\t
"
"adr x10, $iexit_thunk$cdecl$v$i8i8i8
\n\t
"
"mov x2, x1
\n\t
"
"mov x1, x0
\n\t
"
"mov x0, #0
\n\t
"
"adrp x16, __os_arm64x_dispatch_icall
\n\t
"
"ldr x16, [x16, #:lo12:__os_arm64x_dispatch_icall]
\n\t
"
"blr x16
\n\t
"
"blr x11
\n\t
"
"brk #1
\n\t
"
".seh_handler call_unhandled_exception_handler, @except
\n\t
"
".seh_endproc"
);
}
...
...
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