SymCrypt/unittest/module_windows_sys_km/SymCryptKernelTestModule.vc...

58 строки
2.7 KiB
XML
Исходник Обычный вид История

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{0C2652ED-2CCD-4FAF-910B-74FB90E0C31C}</ProjectGuid>
<TemplateGuid>{0a049372-4c4d-4ea0-a64e-dc6ad88ceca1}</TemplateGuid>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<MinimumVisualStudioVersion>12.0</MinimumVisualStudioVersion>
<UseInternalMSUniCrtPackage>true</UseInternalMSUniCrtPackage>
<TargetName>SymCryptKernelTestModule</TargetName>
<UndockedType>sys</UndockedType>
<UndockedDir>$(SolutionDir)msbuild\</UndockedDir>
<UndockedOut>$(SolutionDir)</UndockedOut>
Merged PR 10332702: Prepare SymCrypt undocked build for undocked LKG which specifies most kernel mode flags ## Description: + Remove many workarounds in SymCrypt undocked props files for missing flags + Explicitly build SymCryptK.dll with no entrypoint, remove the fake entry point from code, and call `__security_init_cookie` in `SymCryptModuleInit` to prevent binskim errors. + Remove reference to memset in `SymCryptEntropyAccumulatorAccumulateSample` to reduce size and complexity of resulting SymCryptK.dll with real build environment (memset is not inlined as expected). ## Admin Checklist: - [X] You have updated documentation in symcrypt.h to reflect any changes in behavior - [X] You have updated CHANGELOG.md to reflect any changes in behavior - [X] You have updated symcryptunittest to exercise any new functionality - [X] If you have introduced any symbols in symcrypt.h you have updated production and test dynamic export symbols (exports.ver / exports.def / symcrypt.src) and tested the updated dynamic modules with symcryptunittest - [X] If you have introduced functionality that varies based on CPU features, you have manually tested with and without relevant features - [X] If you have made significant changes to a particular algorithm, you have checked that performance numbers reported by symcryptunittest are in line with expectations - [X] If you have added new algorithms/modes, you have updated the status indicator text for the associated modules if necessary Related work items: #49010014
2024-02-27 01:53:09 +03:00
<UndockedKernelModeBuild>true</UndockedKernelModeBuild>
</PropertyGroup>
<Import Project="$(UndockedDir)symcrypt.undocked.props" />
<ItemGroup>
<ProjectReference Include="..\..\lib\symcrypt.vcxproj">
<Project>{7c3bd5d2-7213-4cfa-b6cb-eb41623601bc}</Project>
</ProjectReference>
<ProjectReference Include="..\lib\symcryptunittest_lib.vcxproj">
<Project>{1146804c-b04f-43f1-83b0-081a5187ba02}</Project>
</ProjectReference>
</ItemGroup>
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>_WINDOWS;%(PreprocessorDefinitions);</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\;..\inc;..\lib;..\SymCryptDependencies\inc;..\..\inc;</AdditionalIncludeDirectories>
<AdditionalOptions>/Zc:strictStrings- %(AdditionalOptions)</AdditionalOptions>
<WholeProgramOptimization>true</WholeProgramOptimization>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
Merged PR 10332702: Prepare SymCrypt undocked build for undocked LKG which specifies most kernel mode flags ## Description: + Remove many workarounds in SymCrypt undocked props files for missing flags + Explicitly build SymCryptK.dll with no entrypoint, remove the fake entry point from code, and call `__security_init_cookie` in `SymCryptModuleInit` to prevent binskim errors. + Remove reference to memset in `SymCryptEntropyAccumulatorAccumulateSample` to reduce size and complexity of resulting SymCryptK.dll with real build environment (memset is not inlined as expected). ## Admin Checklist: - [X] You have updated documentation in symcrypt.h to reflect any changes in behavior - [X] You have updated CHANGELOG.md to reflect any changes in behavior - [X] You have updated symcryptunittest to exercise any new functionality - [X] If you have introduced any symbols in symcrypt.h you have updated production and test dynamic export symbols (exports.ver / exports.def / symcrypt.src) and tested the updated dynamic modules with symcryptunittest - [X] If you have introduced functionality that varies based on CPU features, you have manually tested with and without relevant features - [X] If you have made significant changes to a particular algorithm, you have checked that performance numbers reported by symcryptunittest are in line with expectations - [X] If you have added new algorithms/modes, you have updated the status indicator text for the associated modules if necessary Related work items: #49010014
2024-02-27 01:53:09 +03:00
<!-- Official undocked builds handle setting the ExceptionHandling flags -->
<ExceptionHandling Condition="'$(UndockedOfficial)' != 'true'">Sync</ExceptionHandling>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<AdditionalDependencies>%(AdditionalDependencies);cng.lib;ntoskrnl.lib</AdditionalDependencies>
<EntryPointSymbol>GsDriverEntry</EntryPointSymbol>
</Link>
</ItemDefinitionGroup>
<PropertyGroup Label="DbgEng">
<DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
</PropertyGroup>
<ItemDefinitionGroup Label="DriverSign">
<DriverSign>
<FileDigestAlgorithm>sha256</FileDigestAlgorithm>
</DriverSign>
</ItemDefinitionGroup>
<ItemGroup>
<FilesToPackage Include="$(TargetPath)" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="main_sys.cpp" />
</ItemGroup>
<ItemGroup>
<MASM Include="amd64\savevectors.asm" Condition="'$(Platform)'=='x64'" />
</ItemGroup>
</Project>