msvcrt: Implement _local_unwind for x86_64.
This commit is contained in:
parent
f464b7d2e2
commit
2140006662
|
@ -844,6 +844,7 @@
|
||||||
@ cdecl _lfind(ptr ptr ptr long ptr) msvcrt._lfind
|
@ cdecl _lfind(ptr ptr ptr long ptr) msvcrt._lfind
|
||||||
@ stub _lfind_s
|
@ stub _lfind_s
|
||||||
@ cdecl _loaddll(str) msvcrt._loaddll
|
@ cdecl _loaddll(str) msvcrt._loaddll
|
||||||
|
@ cdecl -arch=x86_64 _local_unwind(ptr ptr) msvcrt._local_unwind
|
||||||
@ cdecl -i386 _local_unwind2(ptr long) msvcrt._local_unwind2
|
@ cdecl -i386 _local_unwind2(ptr long) msvcrt._local_unwind2
|
||||||
@ cdecl -i386 _local_unwind4(ptr ptr long) msvcrt._local_unwind4
|
@ cdecl -i386 _local_unwind4(ptr ptr long) msvcrt._local_unwind4
|
||||||
@ cdecl _localtime32(ptr) msvcrt._localtime32
|
@ cdecl _localtime32(ptr) msvcrt._localtime32
|
||||||
|
|
|
@ -690,6 +690,7 @@
|
||||||
@ cdecl _lfind(ptr ptr ptr long ptr) msvcrt._lfind
|
@ cdecl _lfind(ptr ptr ptr long ptr) msvcrt._lfind
|
||||||
@ stub _lfind_s
|
@ stub _lfind_s
|
||||||
@ cdecl _loaddll(str) msvcrt._loaddll
|
@ cdecl _loaddll(str) msvcrt._loaddll
|
||||||
|
@ cdecl -arch=x86_64 _local_unwind(ptr ptr) msvcrt._local_unwind
|
||||||
@ cdecl -i386 _local_unwind2(ptr long) msvcrt._local_unwind2
|
@ cdecl -i386 _local_unwind2(ptr long) msvcrt._local_unwind2
|
||||||
@ cdecl -i386 _local_unwind4(ptr ptr long) msvcrt._local_unwind4
|
@ cdecl -i386 _local_unwind4(ptr ptr long) msvcrt._local_unwind4
|
||||||
@ cdecl _localtime32(ptr) msvcrt._localtime32
|
@ cdecl _localtime32(ptr) msvcrt._localtime32
|
||||||
|
|
|
@ -678,6 +678,7 @@
|
||||||
@ cdecl _lfind(ptr ptr ptr long ptr) msvcrt._lfind
|
@ cdecl _lfind(ptr ptr ptr long ptr) msvcrt._lfind
|
||||||
@ stub _lfind_s
|
@ stub _lfind_s
|
||||||
@ cdecl _loaddll(str) msvcrt._loaddll
|
@ cdecl _loaddll(str) msvcrt._loaddll
|
||||||
|
@ cdecl -arch=x86_64 _local_unwind(ptr ptr) msvcrt._local_unwind
|
||||||
@ cdecl -i386 _local_unwind2(ptr long) msvcrt._local_unwind2
|
@ cdecl -i386 _local_unwind2(ptr long) msvcrt._local_unwind2
|
||||||
@ cdecl -i386 _local_unwind4(ptr ptr long) msvcrt._local_unwind4
|
@ cdecl -i386 _local_unwind4(ptr ptr long) msvcrt._local_unwind4
|
||||||
@ cdecl _localtime32(ptr) msvcrt._localtime32
|
@ cdecl _localtime32(ptr) msvcrt._localtime32
|
||||||
|
|
|
@ -605,6 +605,15 @@ void __cdecl MSVCRT_longjmp( struct MSVCRT___JUMP_BUFFER *jmp, int retval )
|
||||||
longjmp_set_regs( jmp, retval );
|
longjmp_set_regs( jmp, retval );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*******************************************************************
|
||||||
|
* _local_unwind (MSVCRT.@)
|
||||||
|
*/
|
||||||
|
void __cdecl _local_unwind( void *frame, void *target )
|
||||||
|
{
|
||||||
|
CONTEXT context;
|
||||||
|
RtlUnwindEx( frame, target, NULL, 0, &context, NULL );
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* __x86_64__ */
|
#endif /* __x86_64__ */
|
||||||
|
|
||||||
static MSVCRT___sighandler_t sighandlers[MSVCRT_NSIG] = { MSVCRT_SIG_DFL };
|
static MSVCRT___sighandler_t sighandlers[MSVCRT_NSIG] = { MSVCRT_SIG_DFL };
|
||||||
|
|
|
@ -627,7 +627,7 @@
|
||||||
@ cdecl _lfind(ptr ptr ptr long ptr)
|
@ cdecl _lfind(ptr ptr ptr long ptr)
|
||||||
# stub _lfind_s(ptr ptr ptr long ptr ptr)
|
# stub _lfind_s(ptr ptr ptr long ptr ptr)
|
||||||
@ cdecl _loaddll(str)
|
@ cdecl _loaddll(str)
|
||||||
# stub -arch=x86_64 _local_unwind
|
@ cdecl -arch=x86_64 _local_unwind(ptr ptr)
|
||||||
@ cdecl -i386 _local_unwind2(ptr long)
|
@ cdecl -i386 _local_unwind2(ptr long)
|
||||||
@ cdecl -i386 _local_unwind4(ptr ptr long)
|
@ cdecl -i386 _local_unwind4(ptr ptr long)
|
||||||
@ cdecl _localtime32(ptr) MSVCRT__localtime32
|
@ cdecl _localtime32(ptr) MSVCRT__localtime32
|
||||||
|
|
|
@ -378,6 +378,7 @@
|
||||||
@ cdecl _kbhit() msvcrt._kbhit
|
@ cdecl _kbhit() msvcrt._kbhit
|
||||||
@ cdecl _lfind(ptr ptr ptr long ptr) msvcrt._lfind
|
@ cdecl _lfind(ptr ptr ptr long ptr) msvcrt._lfind
|
||||||
@ cdecl _loaddll(str) msvcrt._loaddll
|
@ cdecl _loaddll(str) msvcrt._loaddll
|
||||||
|
@ cdecl -arch=x86_64 _local_unwind(ptr ptr) msvcrt._local_unwind
|
||||||
@ cdecl -i386 _local_unwind2(ptr long) msvcrt._local_unwind2
|
@ cdecl -i386 _local_unwind2(ptr long) msvcrt._local_unwind2
|
||||||
@ cdecl _lock(long) msvcrt._lock
|
@ cdecl _lock(long) msvcrt._lock
|
||||||
@ cdecl _locking(long long long) msvcrt._locking
|
@ cdecl _locking(long long long) msvcrt._locking
|
||||||
|
|
|
@ -1411,7 +1411,8 @@
|
||||||
@ cdecl -private -i386 _global_unwind2(ptr) msvcrt._global_unwind2
|
@ cdecl -private -i386 _global_unwind2(ptr) msvcrt._global_unwind2
|
||||||
@ cdecl -private _itoa(long ptr long) msvcrt._itoa
|
@ cdecl -private _itoa(long ptr long) msvcrt._itoa
|
||||||
@ cdecl -private _itow(long ptr long) msvcrt._itow
|
@ cdecl -private _itow(long ptr long) msvcrt._itow
|
||||||
@ cdecl -private _local_unwind2(ptr long) msvcrt._local_unwind2
|
@ cdecl -private -arch=x86_64 _local_unwind(ptr ptr) msvcrt._local_unwind
|
||||||
|
@ cdecl -private -arch=i386 _local_unwind2(ptr long) msvcrt._local_unwind2
|
||||||
@ cdecl -private _purecall() msvcrt._purecall
|
@ cdecl -private _purecall() msvcrt._purecall
|
||||||
@ varargs -private _snprintf(str long str) msvcrt._snprintf
|
@ varargs -private _snprintf(str long str) msvcrt._snprintf
|
||||||
@ varargs -private _snwprintf(wstr long wstr) msvcrt._snwprintf
|
@ varargs -private _snwprintf(wstr long wstr) msvcrt._snwprintf
|
||||||
|
|
Loading…
Reference in New Issue