Timo Kreuzer
9f15d9ee57
[UCRT:MATH] Implement _dtest, _fdtest
2025-01-26 18:08:55 +02:00
Timo Kreuzer
59c55e003e
[UCRT:MATH] Implement _dclass, _fdclass
2025-01-26 18:08:55 +02:00
Timo Kreuzer
0133dba0c6
[CMAKE] Disable GCC builtin math functions
2025-01-26 18:08:55 +02:00
Timo Kreuzer
efe84ec41a
[UCRT] Add "aliases" for some hacked clang builtins
2025-01-26 18:08:55 +02:00
Timo Kreuzer
d74ab36324
[UCRTSUPPORT] Add ucrtsupport library
...
This library is compiled from our old CRT sources to supplement missing UCRT code.
2025-01-26 18:08:55 +02:00
Timo Kreuzer
82ef7b5df1
[CMAKE] Do not implicitly link libgcc/stdc++compat to msvcrt
...
This allows ucrtbase and modules linked to it to be linked to those helper libraries.
2025-01-26 18:08:55 +02:00
Timo Kreuzer
b09b5584e0
[UCRT:MATH] Implement math error support functions
2025-01-26 18:08:55 +02:00
Timo Kreuzer
8aab548ecd
[UCRT:VCRUNTIME] Implement __isa_available_init()
2025-01-26 18:08:55 +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
4198ceb83a
[UCRT:VCRUNTIME] Implement vcruntime init stubs
2025-01-26 18:08:55 +02:00
Timo Kreuzer
4d80956566
[UCRT:VCRUNTIME] Implement __report_rangecheckfailure()
2025-01-26 18:08:55 +02:00
Timo Kreuzer
b0f3e623b7
[UCRT:VCRUNTIME] Implement __report_gsfailure()
2025-01-26 18:08:55 +02:00
Timo Kreuzer
5dcd1d1714
[UCRT:VCRUNTIME] Implement __security_init_cookie and __security_check_cookie
2025-01-26 18:08:55 +02:00
Timo Kreuzer
055875fbd8
[UCRT:FLOAT] Add _fltused
2025-01-26 18:08:55 +02:00
Timo Kreuzer
4462342076
[UCRT:STARTUP] Implement __scrt_uninitialize_crt stub
2025-01-26 18:08:55 +02:00
Timo Kreuzer
d21fd37650
[UCRT:LOCALE] Implement __acrt_WideCharToMultiByte
2025-01-26 18:08:55 +02:00
Timo Kreuzer
bd3c7654ec
[UCRT:LOCALE] Implement __acrt_MultiByteToWideChar
2025-01-26 18:08:55 +02:00
Timo Kreuzer
4ea1841f31
[UCRT:LOCALE] Implement __acrt_GetStringTypeW
2025-01-26 18:08:55 +02:00
Eric Kohl
56b0f836c5
[SYSSETUP] Move the creation of start menu items into the wizard
...
Start menu items were created after the wizard had finished. This patch moves the creation of the start menu items into the process page of the wizard and enables the 2nd item of the task list.
2025-01-26 11:46:04 +01:00
Katayama Hirofumi MZ
a58bf95914
[SHELL32][SHELL32_APITEST][SDK] SHIsBadInterfacePtr ( #7664 )
...
Implementing missing features...
JIRA issue: CORE-19278
- Move function definition from
stubs.cpp to utils.cpp.
- Implement SHIsBadInterfacePtr
function in utils.cpp.
- Add prototype to <undocshell.h>.
2025-01-26 19:24:24 +09:00
Timo Kreuzer
e302bacd7e
[NTDLL] Acquire LdrpLoaderLock in LdrpInitializeThread
...
This is required to protect against a race with LdrShutdownThread, which can lead to all kinds of problems, including deadlocks.
2025-01-25 21:50:32 +02:00
Whindmar Saksit
72951421e6
[RAPPS] Reuse active pending downloads window ( #7648 )
...
CORE-16716 CORE-16804
2025-01-25 16:42:48 +01:00
Timo Kreuzer
cc762c2b71
[NTDLL] Demote UNIMPLEMENTED to DPRINT in LdrpValidateImageForMp
...
This avoids debug spam on SMP builds.
2025-01-25 16:33:27 +02:00
Timo Kreuzer
647b518bd3
[NTOS:MM] Fix process affinity in MmCreatePeb
2025-01-25 16:33:27 +02:00
Timo Kreuzer
c07fba4508
[NTOS:KE] Make KeQueryActiveProcessors portable and non-paged
...
In Windows Vista and later, this routine can be called at any IRQL.
2025-01-24 18:38:34 +02:00
Hermès Bélusca-Maïto
dbf784472e
[WIN32SS:NTGDI] FontFamilyFillInfo(): Check returned IntGetOutlineTextMetrics() size...
...
... before allocating pool memory, as it is done everywhere else in the code.
2025-01-23 23:20:54 +01:00
Timo Kreuzer
bab23a250b
[ASM] Use macros instead of defines
...
Defines can cause problems, like previously with the end define, which caused a jump to label ".end" to be interpreted as a jump to ".", which is the current address, resulting in an infinite loop.
Remove obsolete CODESEG
2025-01-23 23:43:31 +02:00
Hermès Bélusca-Maïto
07ce196d8e
[WIN32SS:NTGDI] Fix build, addendum to commit 9c474c4b7
2025-01-23 22:33:11 +01:00
Hermès Bélusca-Maïto
2e1a4e74a4
[WIN32SS:NTGDI] freetype.c: Fix the ordering of, and add some missing set-last-error calls.
2025-01-23 21:17:15 +01:00
Hermès Bélusca-Maïto
f22efba486
[WIN32SS:NTGDI] freetype.c: Use the correct last-error functions.
...
EngSetLastError() is for Win32 errors; SetLastNtError() is for NTSTATUS.
2025-01-23 21:03:26 +01:00
Hermès Bélusca-Maïto
c6cd3b242a
[WIN32SS:NTGDI] Improve a DPRINT
2025-01-23 20:51:18 +01:00
Hermès Bélusca-Maïto
9c474c4b73
[WIN32SS:NTGDI] freetype.c: Use debug channel "GdiFont"
2025-01-23 20:25:25 +01:00
Hermès Bélusca-Maïto
e16dc27e47
[WIN32SS:ENG:GDI] bitblt(_new).c: Use correct debug channel "GdiBlt"
2025-01-23 20:23:30 +01:00
Katayama Hirofumi MZ
05c3f303bf
[FONTS] MS Sans Serif (sse*.fon): Fix letter 'g' misalign
...
Copyright (C) 2019-2025 Katayama Hirofumi MZ. License: MIT
CORE-16165
2025-01-23 15:32:44 +09:00
Timo Kreuzer
f07ea94798
[UCRT] Fix build of memcpy_s.cpp
...
extern inline creates a global symbol on MSVC, but not on GCC. Use extern instead.
2025-01-22 18:56:08 +02:00
Timo Kreuzer
fea0f9243d
[UCRT] Remove __inline from conversion functions
...
Otherwise no actual symbols will be created.
2025-01-22 18:56:08 +02:00
Timo Kreuzer
13356a9001
[VCRUNTIME] Fix _rotl64/_rotr64 inline asm
...
%k is only valid for 32 bit operands.
2025-01-22 18:56:08 +02:00
Timo Kreuzer
9db517f324
[UCRT] Fix definition of _alloca for GCC/Clang
2025-01-22 18:56:08 +02:00
Timo Kreuzer
61175644d0
[UCRT] Add architecturally optimized code to build
2025-01-22 18:56:08 +02:00
Timo Kreuzer
a015b91e6b
[VCRUNTIME] Fix emmintrin.h for GCC
2025-01-22 18:56:08 +02:00
Timo Kreuzer
94eb475177
[UCRT][ASM] Make asm code GCC compatible
2025-01-22 18:56:08 +02:00
Timo Kreuzer
4fec953e6e
[UCRT][ASM] Rename all .asm files to .s
2025-01-22 18:56:08 +02:00
Timo Kreuzer
901cd2704c
[ASM] macamd64.inc: Fix up entry point macros a bit
...
This is the minimal version to be compatible with GAS. Code segment and NoPad could probably be added later, but they are not strictly required.
2025-01-22 18:56:08 +02:00
Timo Kreuzer
72aed01dbd
[ASM] Fix up some x86 assembly code
2025-01-22 18:56:08 +02:00
Timo Kreuzer
e2ffc35894
[UCRT] Fix/improve __crt_state_management
2025-01-22 18:56:08 +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
Hermès Bélusca-Maïto
a857b28008
[NTOS:INBV] We are now past Christmas time.
2025-01-22 17:30:43 +01:00
Timo Kreuzer
85f42a25d5
[NTOS:KE/x64] Improve freeze code
...
- Set ACTIVE flag on freeze owner like on Windows
- Add a nice state graph
- Change license to MIT
2025-01-22 14:04:18 +02:00