Skip to content

Commit c52c808

Browse files
Make the repro project work with x86 Windows (#99800)
Mostly a clone of x64 configuration with these differences: force stdcall calling convention, define HOST_WINDOWS/HOST_X86, skip vxsort library.
1 parent 0960bfb commit c52c808

File tree

2 files changed

+115
-0
lines changed

2 files changed

+115
-0
lines changed

src/coreclr/tools/aot/ILCompiler/repro/repro.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
<ItemGroup>
2222
<ReproResponseLines Include="$(OutputPath)$(AssemblyName)$(TargetExt)" />
23+
<ReproResponseLines Include="--targetarch:$(Platform)" />
2324
<ReproResponseLines Include="-o:$(OutputPath)$(AssemblyName).obj" />
2425
<ReproResponseLines Include="-r:$(RuntimeBinDir)aotsdk\*.dll" />
2526
<ReproResponseLines Include="-r:$(MicrosoftNetCoreAppRuntimePackRidLibTfmDir)*.dll" />

src/coreclr/tools/aot/ILCompiler/reproNative/reproNative.vcxproj

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
22
<ItemGroup Label="ProjectConfigurations">
3+
<ProjectConfiguration Include="Checked|Win32">
4+
<Configuration>Checked</Configuration>
5+
<Platform>Win32</Platform>
6+
</ProjectConfiguration>
7+
<ProjectConfiguration Include="Debug|Win32">
8+
<Configuration>Debug</Configuration>
9+
<Platform>Win32</Platform>
10+
</ProjectConfiguration>
311
<ProjectConfiguration Include="Debug|x64">
412
<Configuration>Debug</Configuration>
513
<Platform>x64</Platform>
@@ -8,6 +16,10 @@
816
<Configuration>Checked</Configuration>
917
<Platform>x64</Platform>
1018
</ProjectConfiguration>
19+
<ProjectConfiguration Include="Release|Win32">
20+
<Configuration>Release</Configuration>
21+
<Platform>Win32</Platform>
22+
</ProjectConfiguration>
1123
<ProjectConfiguration Include="Release|x64">
1224
<Configuration>Release</Configuration>
1325
<Platform>x64</Platform>
@@ -30,45 +42,86 @@
3042
<PlatformToolset>v143</PlatformToolset>
3143
<CharacterSet>Unicode</CharacterSet>
3244
</PropertyGroup>
45+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
46+
<ConfigurationType>Application</ConfigurationType>
47+
<UseDebugLibraries>true</UseDebugLibraries>
48+
<PlatformToolset>v143</PlatformToolset>
49+
<CharacterSet>Unicode</CharacterSet>
50+
</PropertyGroup>
3351
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'" Label="Configuration">
3452
<ConfigurationType>Application</ConfigurationType>
3553
<UseDebugLibraries>false</UseDebugLibraries>
3654
<PlatformToolset>v143</PlatformToolset>
3755
<WholeProgramOptimization>true</WholeProgramOptimization>
3856
<CharacterSet>Unicode</CharacterSet>
3957
</PropertyGroup>
58+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Checked|Win32'" Label="Configuration">
59+
<ConfigurationType>Application</ConfigurationType>
60+
<UseDebugLibraries>false</UseDebugLibraries>
61+
<PlatformToolset>v143</PlatformToolset>
62+
<WholeProgramOptimization>true</WholeProgramOptimization>
63+
<CharacterSet>Unicode</CharacterSet>
64+
</PropertyGroup>
4065
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
4166
<ConfigurationType>Application</ConfigurationType>
4267
<UseDebugLibraries>false</UseDebugLibraries>
4368
<PlatformToolset>v143</PlatformToolset>
4469
<WholeProgramOptimization>true</WholeProgramOptimization>
4570
<CharacterSet>Unicode</CharacterSet>
4671
</PropertyGroup>
72+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
73+
<ConfigurationType>Application</ConfigurationType>
74+
<UseDebugLibraries>false</UseDebugLibraries>
75+
<PlatformToolset>v143</PlatformToolset>
76+
<WholeProgramOptimization>true</WholeProgramOptimization>
77+
<CharacterSet>Unicode</CharacterSet>
78+
</PropertyGroup>
4779
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
4880
<ImportGroup Label="ExtensionSettings">
4981
</ImportGroup>
5082
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
5183
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
5284
</ImportGroup>
85+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
86+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
87+
</ImportGroup>
5388
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Checked|x64'">
5489
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
5590
</ImportGroup>
91+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Checked|Win32'" Label="PropertySheets">
92+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
93+
</ImportGroup>
5694
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
5795
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
5896
</ImportGroup>
97+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
98+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
99+
</ImportGroup>
59100
<PropertyGroup Label="UserMacros" />
60101
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
61102
<LinkIncremental>false</LinkIncremental>
62103
<GenerateManifest>false</GenerateManifest>
63104
</PropertyGroup>
105+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
106+
<LinkIncremental>false</LinkIncremental>
107+
<GenerateManifest>false</GenerateManifest>
108+
</PropertyGroup>
64109
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'">
65110
<LinkIncremental>false</LinkIncremental>
66111
<GenerateManifest>false</GenerateManifest>
67112
</PropertyGroup>
113+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Checked|Win32'">
114+
<LinkIncremental>false</LinkIncremental>
115+
<GenerateManifest>false</GenerateManifest>
116+
</PropertyGroup>
68117
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
69118
<LinkIncremental>false</LinkIncremental>
70119
<GenerateManifest>false</GenerateManifest>
71120
</PropertyGroup>
121+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
122+
<LinkIncremental>false</LinkIncremental>
123+
<GenerateManifest>false</GenerateManifest>
124+
</PropertyGroup>
72125
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
73126
<ClCompile>
74127
<WarningLevel>Level3</WarningLevel>
@@ -87,6 +140,25 @@
87140
<AdditionalDependencies>$(ArtifactsRoot)bin\repro\x64\Debug\repro.obj;$(Win32SDKLibs);%(AdditionalDependencies);$(ArtifactsRoot)bin\coreclr\windows.x64.Debug\aotsdk\Runtime.WorkstationGC.lib;$(ArtifactsRoot)bin\coreclr\windows.x64.Debug\aotsdk\System.Globalization.Native.Aot.lib;$(ArtifactsRoot)bin\coreclr\windows.x64.Debug\aotsdk\System.IO.Compression.Native.Aot.lib;$(ArtifactsRoot)bin\coreclr\windows.x64.Debug\aotsdk\eventpipe-disabled.lib;$(ArtifactsRoot)bin\coreclr\windows.x64.Debug\aotsdk\Runtime.VxsortDisabled.lib;$(ArtifactsRoot)bin\coreclr\windows.x64.Debug\aotsdk\standalonegc-disabled.lib</AdditionalDependencies>
88141
</Link>
89142
</ItemDefinitionGroup>
143+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
144+
<ClCompile>
145+
<WarningLevel>Level3</WarningLevel>
146+
<Optimization>Disabled</Optimization>
147+
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_LIB;HOST_X86;HOST_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
148+
<SDLCheck>true</SDLCheck>
149+
<AdditionalIncludeDirectories>$(CoreClrSourceRoot)gc;$(CoreClrSourceRoot)gc\env</AdditionalIncludeDirectories>
150+
<DisableSpecificWarnings>4477</DisableSpecificWarnings>
151+
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
152+
<MinimalRebuild>false</MinimalRebuild>
153+
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
154+
<CallingConvention>StdCall</CallingConvention>
155+
</ClCompile>
156+
<Link>
157+
<SubSystem>Console</SubSystem>
158+
<GenerateDebugInformation>true</GenerateDebugInformation>
159+
<AdditionalDependencies>$(ArtifactsRoot)bin\repro\x86\Debug\repro.obj;$(Win32SDKLibs);%(AdditionalDependencies);$(ArtifactsRoot)bin\coreclr\windows.x86.Debug\aotsdk\Runtime.WorkstationGC.lib;$(ArtifactsRoot)bin\coreclr\windows.x86.Debug\aotsdk\System.Globalization.Native.Aot.lib;$(ArtifactsRoot)bin\coreclr\windows.x86.Debug\aotsdk\System.IO.Compression.Native.Aot.lib;$(ArtifactsRoot)bin\coreclr\windows.x86.Debug\aotsdk\eventpipe-disabled.lib;$(ArtifactsRoot)bin\coreclr\windows.x86.Debug\aotsdk\standalonegc-disabled.lib</AdditionalDependencies>
160+
</Link>
161+
</ItemDefinitionGroup>
90162
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'">
91163
<ClCompile>
92164
<WarningLevel>Level3</WarningLevel>
@@ -107,6 +179,27 @@
107179
<AdditionalDependencies>$(ArtifactsRoot)bin\repro\x64\Checked\repro.obj;$(Win32SDKLibs);%(AdditionalDependencies);$(ArtifactsRoot)bin\coreclr\windows.x64.Checked\aotsdk\Runtime.WorkstationGC.lib;$(ArtifactsRoot)bin\coreclr\windows.x64.Checked\aotsdk\System.Globalization.Native.Aot.lib;$(ArtifactsRoot)bin\coreclr\windows.x64.Checked\aotsdk\System.IO.Compression.Native.Aot.lib;$(ArtifactsRoot)bin\coreclr\windows.x64.Checked\aotsdk\eventpipe-disabled.lib;$(ArtifactsRoot)bin\coreclr\windows.x64.Checked\aotsdk\Runtime.VxsortDisabled.lib;$(ArtifactsRoot)bin\coreclr\windows.x64.Checked\aotsdk\standalonegc-disabled.lib</AdditionalDependencies>
108180
</Link>
109181
</ItemDefinitionGroup>
182+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Checked|Win32'">
183+
<ClCompile>
184+
<WarningLevel>Level3</WarningLevel>
185+
<Optimization>MaxSpeed</Optimization>
186+
<FunctionLevelLinking>true</FunctionLevelLinking>
187+
<IntrinsicFunctions>true</IntrinsicFunctions>
188+
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_LIB;HOST_X86;HOST_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
189+
<SDLCheck>true</SDLCheck>
190+
<AdditionalIncludeDirectories>$(CoreClrSourceRoot)gc;$(CoreClrSourceRoot)gc\env</AdditionalIncludeDirectories>
191+
<DisableSpecificWarnings>4477</DisableSpecificWarnings>
192+
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
193+
<CallingConvention>StdCall</CallingConvention>
194+
</ClCompile>
195+
<Link>
196+
<SubSystem>Console</SubSystem>
197+
<GenerateDebugInformation>true</GenerateDebugInformation>
198+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
199+
<OptimizeReferences>true</OptimizeReferences>
200+
<AdditionalDependencies>$(ArtifactsRoot)bin\repro\x86\Checked\repro.obj;$(Win32SDKLibs);%(AdditionalDependencies);$(ArtifactsRoot)bin\coreclr\windows.x86.Checked\aotsdk\Runtime.WorkstationGC.lib;$(ArtifactsRoot)bin\coreclr\windows.x86.Checked\aotsdk\System.Globalization.Native.Aot.lib;$(ArtifactsRoot)bin\coreclr\windows.x86.Checked\aotsdk\System.IO.Compression.Native.Aot.lib;$(ArtifactsRoot)bin\coreclr\windows.x86.Checked\aotsdk\eventpipe-disabled.lib;$(ArtifactsRoot)bin\coreclr\windows.x86.Checked\aotsdk\standalonegc-disabled.lib</AdditionalDependencies>
201+
</Link>
202+
</ItemDefinitionGroup>
110203
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
111204
<ClCompile>
112205
<WarningLevel>Level3</WarningLevel>
@@ -127,6 +220,27 @@
127220
<AdditionalDependencies>$(ArtifactsRoot)bin\repro\x64\Release\repro.obj;$(Win32SDKLibs);%(AdditionalDependencies);$(ArtifactsRoot)bin\coreclr\windows.x64.Release\aotsdk\Runtime.WorkstationGC.lib;$(ArtifactsRoot)bin\coreclr\windows.x64.Release\aotsdk\System.Globalization.Native.Aot.lib;$(ArtifactsRoot)bin\coreclr\windows.x64.Release\aotsdk\System.IO.Compression.Native.Aot.lib;$(ArtifactsRoot)bin\coreclr\windows.x64.Release\aotsdk\eventpipe-disabled.lib;$(ArtifactsRoot)bin\coreclr\windows.x64.Release\aotsdk\Runtime.VxsortDisabled.lib;$(ArtifactsRoot)bin\coreclr\windows.x64.Release\aotsdk\standalonegc-disabled.lib</AdditionalDependencies>
128221
</Link>
129222
</ItemDefinitionGroup>
223+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
224+
<ClCompile>
225+
<WarningLevel>Level3</WarningLevel>
226+
<Optimization>MaxSpeed</Optimization>
227+
<FunctionLevelLinking>true</FunctionLevelLinking>
228+
<IntrinsicFunctions>true</IntrinsicFunctions>
229+
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_LIB;HOST_X86;HOST_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
230+
<SDLCheck>true</SDLCheck>
231+
<AdditionalIncludeDirectories>$(CoreClrSourceRoot)gc;$(CoreClrSourceRoot)gc\env</AdditionalIncludeDirectories>
232+
<DisableSpecificWarnings>4477</DisableSpecificWarnings>
233+
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
234+
<CallingConvention>StdCall</CallingConvention>
235+
</ClCompile>
236+
<Link>
237+
<SubSystem>Console</SubSystem>
238+
<GenerateDebugInformation>true</GenerateDebugInformation>
239+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
240+
<OptimizeReferences>true</OptimizeReferences>
241+
<AdditionalDependencies>$(ArtifactsRoot)bin\repro\x86\Release\repro.obj;$(Win32SDKLibs);%(AdditionalDependencies);$(ArtifactsRoot)bin\coreclr\windows.x86.Release\aotsdk\Runtime.WorkstationGC.lib;$(ArtifactsRoot)bin\coreclr\windows.x86.Release\aotsdk\System.Globalization.Native.Aot.lib;$(ArtifactsRoot)bin\coreclr\windows.x86.Release\aotsdk\System.IO.Compression.Native.Aot.lib;$(ArtifactsRoot)bin\coreclr\windows.x86.Release\aotsdk\eventpipe-disabled.lib;$(ArtifactsRoot)bin\coreclr\windows.x86.Release\aotsdk\standalonegc-disabled.lib</AdditionalDependencies>
242+
</Link>
243+
</ItemDefinitionGroup>
130244
<ItemGroup>
131245
<ClCompile Include="$(NativeAotSourceRoot)\Bootstrap\main.cpp" />
132246
<None Include="..\repro\Program.cs" />

0 commit comments

Comments
 (0)