Timo Kreuzer
323f18e446
[HAL][NTOS] Implement x64 SMP startup code
...
TODO: fix lgdt macro to work with GAAS and ML
Works with PIIX3 and cdrom on AHCI or SCSI controller
When cdrom is on IDE controller it doesn't seem to work
2025-02-01 16:36:28 +02:00
Timo Kreuzer
3f76942fd5
[SDK] Improve definition of (RTL_)CRITICAL_SECTION_DEBUG
2025-02-01 16:36:28 +02:00
Timo Kreuzer
daf557b245
[RTL/x64] Fix a bug in RtlpUnwindInternal
...
Check if the stack pointer is out of bounds, before trying to unwind a frame. This will not fix any crashes, but it prevents simple crashes from going into a recursive exception.
2025-02-01 15:24:56 +02:00
Timo Kreuzer
de3a6706e7
[UCRT] fenv.h: Fix GCC build of _Fenv1
2025-01-30 11:30:32 +02:00
Timo Kreuzer
a438d7c3b8
[UCRT] Add GCC compatible definition of _CRT_STDIO_INLINE
...
In C99 mode GCC emits global symbols for inline functions, as soon as the compilation unit contains a declaration that marks the function as "extern". A number of functions like printf are implicitly declared as extern by GCC, which seemingly cannot be disabled. This would lead to the inline function being emitted as a global symbol in every compilation unit. Using static inline prevents duplicate symbol errors.
2025-01-30 11:30:32 +02:00
Timo Kreuzer
4ca68ffb1c
[UCRT] Make __local_stdio_printf/scanf_options GCC compatible
2025-01-30 11:30:32 +02:00
Timo Kreuzer
bb9392e4e1
[CMAKE] Define _CRT_SUPPRESS_RESTRICT on GCC builds
...
This prevents the use of __declspec(restrict) in UCRT headers.
2025-01-30 11:30:32 +02:00
Hermès Bélusca-Maïto
317f1e8391
[NDK][NTOS:EX:KD64] Add SAL annotations to Kd/Nt/ZwSystemDebugControl.
2025-01-28 22:00:35 +01:00
Hermès Bélusca-Maïto
2c59b5b8cf
[NDK] SYSDBG: Add SysDbgKdPullRemoteFile enum value and structure (Win10 19041+)
...
From https://github.com/processhacker/phnt/
2025-01-28 22:00:28 +01:00
Hermès Bélusca-Maïto
4d37135884
[NDK] SYSDBG: Add SysDbgGetLiveKernelDump enum value and structures for kernel live dump.
...
For more information, see:
https://crashdmp.wordpress.com/2014/08/04/livedump-1-0-is-available/
https://github.com/lilhoser/livedump
https://gary-nebbett.blogspot.com/2016/04/examining-windows-kernel-mode-stacks.html
https://github.com/processhacker/phnt
2025-01-28 22:00:28 +01:00
Hermès Bélusca-Maïto
b5007e09b1
[NDK] SYSDBG: Add versioning info for Vista+ commands.
2025-01-28 22:00:27 +01:00
Timo Kreuzer
ae0fa8ba49
[UCRTSUPPORT] Add wine c++ exception code
2025-01-28 22:50:04 +02:00
Timo Kreuzer
e2d69ad98c
[CRT] Split MSVC C++ aliases from cpp.s to cpp_alias.s
2025-01-28 22:50:04 +02:00
Katayama Hirofumi MZ
84df40a128
[SHELL32][SHELL32_APITEST][SDK] SHGetComputerDisplayNameW ( #7670 )
...
Implementing missing features...
JIRA issue: CORE-19278
- Modify shell32.spec.
- Move function definition from
stubs.cpp to utils.cpp.
- Implement
SHGetComputerDisplayNameW
function.
- Add prototype to <undocshell.h>.
2025-01-28 23:23:54 +09:00
Katayama Hirofumi MZ
1b5f6c2dc0
[UXTHEME][UXTHEME_APITEST][SDK] GetThemeParseErrorInfo ( #7662 )
...
Implementing missing features...
JIRA issue: CORE-12805
- Add dll/win32/uxtheme/errinfo.c.
- Implement GetThemeParseErrorInfo
function in errinfo.c.
- Modify uxtheme.spec.
- Add GetThemeParseErrorInfo
prototype to <uxundoc.h>.
- Adapt <uxundoc.h> to C++.
- Add global variable
gdwErrorInfoTlsIndex.
- Add UXTHEME_UnInitSystem
function.
2025-01-28 21:05:40 +09:00
Katayama Hirofumi MZ
fe11f7a2e5
[REACTOS] Refresh old URLs ( #7632 )
...
URLs are getting old. We have to
update URLs for documentation
purpose.
JIRA issue: CORE-19963
- Refresh old URLs.
- Add " (DEAD_LINK)" labels
to dead links.
- Use MS Learn links rather
than MSDN ones.
- Some dead links revived by
Web Archive.
- Don't change Wine Tests
and Wine Sync.
- Don't change 3rd party libraries.
- Don't append "redirected" labels.
2025-01-28 13:36:45 +09:00
Justin Miller
0bf42067d2
[KERNEL32][ROSTESTS][SDK] Enable threadpooling
...
[NTDLL] Init KeyedEvents even on NT5.2 dll_export
[MEDIA] Update winesync.txt accordingly
[SDK][DLL] Initialize crtical sections at runtime
2025-01-26 23:30:59 -08:00
Denis Malikov
405ed2b4ce
[KERNEL32_VISTA][SDK] Import Threadpool.c from wine-9.7
2025-01-26 23:30:59 -08:00
Timo Kreuzer
d92f02e2e5
[CMAKE] Build host tools as Debug by default
...
This is to fix kmtests on Test WHS. Seemingly something is broken with release builds of host tools, at least on GCC x86.
2025-01-26 23:52:45 +02:00
Timo Kreuzer
efdda7f7d9
[APISETS] Use ucrtbase as the lord intended instead of msvcrt
2025-01-26 18:08:55 +02:00
Timo Kreuzer
41ffe7f3c6
[UCRTBASE] Add ucrtbase.dll to build
2025-01-26 18:08:55 +02:00
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
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
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
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