Previously this was mixed with vcruntime, with some objects being shared. But this is messy. Instead use a separate library and link ucrtbase to this as well. This also matches more closely how native libraries are organized, where vcstartup is merged into the CRT import libraries, while vcruntime is merged into the static CRT libraries.
These are used by wine for exports that re-export the import stub function from an import library.
We don't need to do anything here, so simply ignore it.
VS2022 version 17.2 and later (`_MSC_VER >= 1932`) added new intrinsic
functions (`strncmp`, `strncpy`, `wcsncmp`, and `wcsncpy`).
As we implement these ourselves, we have to avoid compiler error C2169.
This problem surfaced with a recent GitHub Actions update:
https://github.com/actions/runner-images/issues/14017
Use `#pragma function(...)` to disable new intrinsic functions.
The build uses -nostdlib which prevents GCC from auto-linking libgcc_eh.a. This library provides the SEH unwind symbols (_Unwind_Resume, __emutls_get_address, etc.) needed by C++ exception handling. Without it, any C++ target compiled with -fexceptions fails to link with undefined references to these symbols.
Add a libgcc_eh INTERFACE target that conditionally pulls in libgcc_eh.a when the toolchain provides it (as on SEH-enabled x86_64), falling back to a no-op otherwise (SJLJ/DWARF toolchains).
- Write InstallationType to registry.
- If installing as Server Core, set shell to cmd.exe.
- Rename "Product Option" to "Install Type" and adjust relevant variable names.
- Reserve Nano Server installation type for future use.
JIRA issue: CORE-20645
It is the same function as RtlInterlockedPushListSList, but with stdcall calling convention instead of fastcall.
On x86 this is a wrapper, on all other architectures it is simply a forwarder.
Implementing missing features...
JIRA issue: N/A
- Implement CShellDispatch::EjectPC
by using TRAYCMD_EJECT tray
command.
- Add TRAYCMD_SUSPEND and
TRAYCMD_REFRESH_MENU tray
commands (they have no effect)
into <undocshell.h>.
Make our tray window working as
Windows' one.
JIRA issue: CORE-10675
- Add REST_NOCLOSE restriction
to CTrayWindow::DoExitWindows
method.
- Add TRAYCMD_EJECT constant
to <undocshell.h>.
- Implement TRAYCMD_STARTMENU,
TRAYCMD_EJECT,
TRAYCMD_CONTROL_PANEL, and
TRAYCMD_PRINTERS_AND_FAXES
tray commands.
- Add import to setupapi to use
CM_Request_Eject_PC function.
Preparation for new ShellExecute.
JIRA issue: CORE-20467
- Move ASSOCQUERY and
IAssociationElementOld in
<shlwapi_undoc.h> into
<shlobj_undoc.h>.
- Add IQuerySourceOld, IQuerySource,
IObjectWithQuerySource, and
IAssociationArrayInitialize
interfaces into <shlobj_undoc.h>.
- Add some GUIDs into
<shlguid_undoc.h>.
- Do #include <shlwapi_undoc.h>
in sysdm performance.c to fix build.
- Use the NT6 structure of _RTL_USER_PROCESS_PARAMETERS
- Fix string alignment to match Vista+
- Use ImageName as fallback for the CommandLine
- Use NULL-string as fallback fo RuntimeData
- Copy the environment instead of just copying the pointer
- Fixes a number of ntdll_winetest:env tests