Commit graph

7 commits

Author SHA1 Message Date
Timo Kreuzer
9186b861a6 [VCRUNTIME][VCSTARTUP] Add separate vcruntime and vcstartup lib
vcruntime contains the code that is linked into ucrtbase (in VS it is also provided as vcruntime140.dll)
vcstartup contains the code that is statically linked into executables that link to ucrtbase.dll. In Visual Studio this is part of msvcrt.lib (the import library for msvcrt), similar to our current msvcrtex, and it gets linked when you link to ucrtbase as well. The name is based on the folder name in the library.
Both libraries share some code, but each file is only compiled once.
2025-02-06 09:17:37 +02:00
Timo Kreuzer
9c887efa0e [UCRT:VCRUNTIME] Add initializer sections
Use #pragma section only for MSVC (and Clang-cl), because Clang doesn't like allocating non-const variables in a read-only section, while GCC doesn't understand these pragmas and ignores them.
2025-01-26 18:08:55 +02:00
Timo Kreuzer
c2b1271dbe [UCRT] Improve __crt_seh_guarded_call
This is a workaround for an MSVC compiler bug, which would result in degraded performance. See https://developercommunity.visualstudio.com/t/_local_unwind-generated-when-returning-f/10673261?
2025-01-22 18:56:08 +02:00
Timo Kreuzer
a58b713a5e [UCRT] Properly implement __crt_fast_encode/decode_pointer 2025-01-22 18:56:08 +02:00
Timo Kreuzer
c1145f0c89 [UCRT] Properly implement parameter checking macros
Partly copied from corecrt_internal_strtox.h, partly imported from dotnet runtime (https://github.com/dotnet/runtime/blob/release/8.0/src/coreclr/pal/src/safecrt/internal.h)
2025-01-22 18:56:08 +02:00
Timo Kreuzer
e98e9000c7 [UCRT] Make SEH blocks ReactOS PSEH compatible 2025-01-16 14:18:53 +02:00
Timo Kreuzer
995e16d4d4 [UCRT] Add missing headers
These are minimal definitions, just enough to make things compile.
2025-01-16 14:18:53 +02:00