reactos/sdk/lib/crt
Timo Kreuzer 92db51883a [MSVCRT] Add asm wrapper around RtlUnwind for Wine code
This is needed, because Wine code expects RtlUnwind to restore the non-volatile registers, before returning, but ours / the native one doesn't do that.
Should fix CORE-19392 and CORE-19397
2024-01-13 19:39:23 +02:00
..
conio
direct
except [CRT/x64] Fix a bug in __C_specific_handler 2023-09-26 18:02:21 +03:00
float [CRT] Make _controlfp_s portable 2023-08-11 19:00:42 +03:00
include/internal
locale
math [CRT] Make ML based asm code GAS compatible 2023-11-10 19:20:24 +02:00
mbstring [CRT] Add parameter check to _mbscmp 2023-11-10 19:19:22 +02:00
mem [CRT] Fix parameter check for _memicmp on NT 6+ 2023-11-10 19:19:22 +02:00
misc [CRT] Sync $I10_OUTPUT and test with wine head 2023-12-30 12:51:22 +02:00
printf
process [MSVCRT] Follow-up of Follow-up of #5032 (f172503) 2023-03-05 23:28:00 +09:00
search
setjmp
signal
startup [CRT] Define _NTSYSTEM_ in 2 files to force using import-stubs 2023-11-10 19:00:41 +02:00
stdio [CRT] Import parameter check for fclose from wine 2023-09-17 10:19:15 +03:00
stdlib [CRT][MSVCRT] Import _gcvt and _gcvt_s from wine and export _gcvt_s on Vista+ 2023-11-10 19:19:22 +02:00
string
sys_stat
time
wine [MSVCRT] Add asm wrapper around RtlUnwind for Wine code 2024-01-13 19:39:23 +02:00
wstring
CMakeLists.txt
crt.cmake [MSVCRT] Add asm wrapper around RtlUnwind for Wine code 2024-01-13 19:39:23 +02:00
libcntpr.cmake
moldname-msvcrt.def
msvcrtex.cmake [CPPRT][CRT][MSVCRT] Move __CxxFrameHandler3 to crt and export it on NT6 2023-08-23 20:43:53 +03:00
oldnames-msvcrt.S
oldnames.cmake
precomp.h
README.txt

Big chunks of this CRT library are taken from Wine's msvcrt implementation,
you can find a list of synced files in README.WINE file.

Notes:
1. When syncing, omit MSVCRT_ prefix where possible, Wine has to keep this
because they are linking with *both* original crt, and ms crt implementation.
ReactOS has the only CRT, so no need to make distinct functions.
2. ReactOS compiles two versions of the CRT library, one for usermode
(called just "crt"), and one version for kernelmode usage (called "libcntpr").
In order to separate the code, you can use #ifdef _LIBCNT_ for libcntpr code.