Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crossgen2 ARM64 runs & initial cross-targeting support #37331

Merged
merged 26 commits into from
Jun 10, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
8c55dec
Crossgen2 ARM64 runs
trylek Jun 2, 2020
b11436d
Enable framework crossgenning on ARM64
trylek Jun 3, 2020
532f771
Fix cross-compilation native bin folder for arm/arm64
trylek Jun 3, 2020
aece6be
Revert incorrect attempt at path fix
trylek Jun 3, 2020
0301635
Add jitinterface to crosscomponents.cmake; crossgen2 cross-package
trylek Jun 3, 2020
384ff95
Add missing targetarch option to Crossgen2 framework compilation
trylek Jun 3, 2020
eb86271
Initial support for Crossgen2 multitargeting
trylek Jun 4, 2020
f2b0ad7
Fix one overlooked NativeLibraryPrefix
trylek Jun 4, 2020
4ae0d07
Fix race condition in clrjit loading
trylek Jun 4, 2020
28493a1
Fix target architecture and callin convention
trylek Jun 4, 2020
45aefc2
Fix bug in targetarch specification in CLRTest.Crossgen.targets
trylek Jun 5, 2020
1529908
Fix typo in 'del' command syntax
trylek Jun 5, 2020
eec60a9
Initialize JIT library and interface on the main thread
trylek Jun 5, 2020
8cb5fc0
Block out the Dev_27924 test on CG2 ARM64 with issue #34316
trylek Jun 5, 2020
216fe03
Address Anton's PR feedback
trylek Jun 5, 2020
5de653b
Revert dynamic loading of jitinterface per PR feedback
trylek Jun 9, 2020
0819cdc
Fix Crossgen2 file list in the installer to match the new structure
trylek Jun 9, 2020
7c11117
One more fix for the new Crossgen2 package structure
trylek Jun 9, 2020
dbdab94
Rename OS target component from 'lnx' to 'linux' per JanK's feedback
trylek Jun 9, 2020
ffdfb88
Add explicit handling of jitPath to Startup; remove SetDllImportResolver
trylek Jun 9, 2020
6ca1613
Remove clrjit subfolder, suffix its name with target OS / arch
trylek Jun 9, 2020
34b6ecc
Addressing additional bits of JanK's PR feedback
trylek Jun 9, 2020
6944462
Addressing additional JanK's feedback
trylek Jun 9, 2020
8e2fe04
Fix clrjit path in Signing.props
trylek Jun 10, 2020
9e2e87c
Put back SetDllImportResolver per Anton's and Michal's feedback
trylek Jun 10, 2020
58239a5
Remove caching of clrjit handle per Michal's PR feedback
trylek Jun 10, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion eng/Signing.props
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,11 @@
<ItemsToSign Include="$(CoreCLRCrossgen2Dir)ILCompiler.DependencyAnalysisFramework.dll" />
<ItemsToSign Include="$(CoreCLRCrossgen2Dir)ILCompiler.ReadyToRun.dll" />
<ItemsToSign Include="$(CoreCLRCrossgen2Dir)ILCompiler.TypeSystem.ReadyToRun.dll" />
<ItemsToSign Include="$(CoreCLRCrossgen2Dir)clrjitilc.dll" />
<ItemsToSign Include="$(CoreCLRCrossgen2Dir)jitinterface.dll" />

<ItemsToSign Condition="'$(TargetOS)' == 'Windows_NT'" Include="$(CoreCLRCrossgen2Dir)clrjit-win-$(TargetArchitecture).dll" />
<ItemsToSign Condition="'$(TargetOS)' != 'Windows_NT'" Include="$(CoreCLRCrossgen2Dir)clrjit-unix-$(TargetArchitecture).dll" />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't this list Windows-only? This native binary won't have the .dll extension on Linux/macOS.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apparently this script is Windows-only as the other names like "crossgen2.exe" indicate. I don't know if there's an equivalent list for Linux, I haven't found any.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So did you add these Conditions for potential cross-OS compilation in future?


<ItemsToSign Include="@(CoreCLRCrossTargetItemsToSign)" />

<FileSignInfo Include="mscordaccore.dll" CertificateName="MicrosoftSHA2" />
Expand Down
4 changes: 4 additions & 0 deletions eng/pipelines/coreclr/crossgen2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,10 @@ jobs:
buildConfig: checked
platforms:
- Linux_x64
- Linux_arm64
- OSX_x64
- Windows_NT_x64
- Windows_NT_arm64
- CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
jobParameters:
testGroup: innerloop
Expand All @@ -45,8 +47,10 @@ jobs:
buildConfig: checked
platforms:
- Linux_x64
- Linux_arm64
- OSX_x64
- Windows_NT_x64
- Windows_NT_arm64
jobParameters:
testGroup: innerloop
readyToRun: true
Expand Down
37 changes: 16 additions & 21 deletions src/coreclr/build-test.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -557,15 +557,11 @@ if defined __DoCrossgen (

if defined __DoCrossgen2 (
set __CrossgenArg="/p:Crossgen2=true"
if "%__BuildArch%" == "x64" (
echo %__MsgPrefix%Running crossgen2 on framework assemblies in CORE_ROOT: %CORE_ROOT%
call :PrecompileFX
if ERRORLEVEL 1 (
echo %__ErrMsgPrefix%%__MsgPrefix%Error: crossgen2 precompilation of framework assemblies failed
exit /b 1
)
) else (
echo "%__MsgPrefix%Crossgen2 only supported on x64, for now"
echo %__MsgPrefix%Running crossgen2 on framework assemblies in CORE_ROOT: %CORE_ROOT%
call :PrecompileFX
if ERRORLEVEL 1 (
echo %__ErrMsgPrefix%%__MsgPrefix%Error: crossgen2 precompilation of framework assemblies failed
exit /b 1
)
)

Expand Down Expand Up @@ -642,10 +638,19 @@ set __FailedAssemblies=
set __CompositeOutputDir=%CORE_ROOT%\composite.out
set __CompositeResponseFile=%__CompositeOutputDir%\framework-r2r.dll.rsp

set __CrossgenDir=%__BinDir%
if /i "%__BuildArch%" == "arm" (set __CrossgenDir=!__CrossgenDir!\x86)
if /i "%__BuildArch%" == "arm64" (set __CrossgenDir=!__CrossgenDir!\x64)

set __CrossgenExe="%__CrossgenDir%\crossgen.exe"
set __Crossgen2Dll="%__RepoRootDir%\dotnet.cmd" "%__CrossgenDir%\crossgen2\crossgen2.dll"

if defined __CompositeBuildMode (
mkdir !__CompositeOutputDir!
del /Q !__CompositeResponseFile!
echo --composite>>!__CompositeResponseFile!
echo -O>>!__CompositeResponseFile!
echo --targetarch:%__BuildArch%>>!__CompositeResponseFile!
echo --out^:%__CompositeOutputDir%\framework-r2r.dll>>!__CompositeResponseFile!
)

Expand All @@ -669,8 +674,7 @@ if defined __CompositeBuildMode (
)

if defined __CompositeBuildMode (
set __CompositeCommandLine="%__RepoRootDir%\dotnet.cmd"
set __CompositeCommandLine=!__CompositeCommandLine! "%CORE_ROOT%\crossgen2\crossgen2.dll"
set __CompositeCommandLine=%__Crossgen2Dll%
set __CompositeCommandLine=!__CompositeCommandLine! "@%__CompositeResponseFile%"
echo Building composite R2R framework^: !__CompositeCommandLine!
call !__CompositeCommandLine!
Expand All @@ -691,15 +695,6 @@ REM Compile the managed assemblies in Core_ROOT before running the tests
set AssemblyPath=%1
set AssemblyName=%2

set __CrossgenExe="%__BinDir%\crossgen.exe"
if /i "%__BuildArch%" == "arm" ( set __CrossgenExe="%__BinDir%\x86\crossgen.exe" )
if /i "%__BuildArch%" == "arm64" ( set __CrossgenExe="%__BinDir%\x64\crossgen.exe" )
set __CrossgenExe=%__CrossgenExe%

if defined __DoCrossgen2 (
set __CrossgenExe="%__RepoRootDir%\dotnet.cmd" "%CORE_ROOT%\crossgen2\crossgen2.dll"
)

REM Intentionally avoid using the .dll extension to prevent
REM subsequent compilations from picking it up as a reference
set __CrossgenOutputFile="%CORE_ROOT%\temp.ni._dll"
Expand All @@ -710,7 +705,7 @@ if defined __DoCrossgen (
echo !__CrossgenCmd!
!__CrossgenCmd!
) else (
set __CrossgenCmd=!__CrossgenExe! -r:"!CORE_ROOT!\System.*.dll" -r:"!CORE_ROOT!\Microsoft.*.dll" -r:"!CORE_ROOT!\mscorlib.dll" -r:"!CORE_ROOT!\netstandard.dll" -O --inputbubble --out:!__CrossgenOutputFile! !AssemblyPath!
set __CrossgenCmd=!__Crossgen2Dll! -r:"!CORE_ROOT!\System.*.dll" -r:"!CORE_ROOT!\Microsoft.*.dll" -r:"!CORE_ROOT!\mscorlib.dll" -r:"!CORE_ROOT!\netstandard.dll" -O --inputbubble --out:!__CrossgenOutputFile! !AssemblyPath! --targetarch %__BuildArch%
echo !__CrossgenCmd!
call !__CrossgenCmd!
)
Expand Down
6 changes: 4 additions & 2 deletions src/coreclr/build-test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -181,10 +181,11 @@ precompile_coreroot_fx()
local totalPrecompiled=0
local failedToPrecompile=0
local compositeCommandLine="${__DotNetCli}"
compositeCommandLine+=" $__BinDir/crossgen2/crossgen2.dll"
compositeCommandLine+=" $__Crossgen2Dll"
compositeCommandLine+=" --composite"
compositeCommandLine+=" -O"
compositeCommandLine+=" --out:$outputDir/framework-r2r.dll"
compositeCommandLine+=" --targetarch ${__BuildArch}"
declare -a failedAssemblies

filesToPrecompile=$(find -L "$overlayDir" -maxdepth 1 -iname Microsoft.\*.dll -o -iname System.\*.dll -o -iname netstandard.dll -o -iname mscorlib.dll -type f)
Expand All @@ -206,7 +207,7 @@ precompile_coreroot_fx()
fi

if [[ "$__DoCrossgen2" != 0 ]]; then
commandLine="${__DotNetCli} $overlayDir/crossgen2/crossgen2.dll $crossgen2References -O --inputbubble --out $outputDir/$(basename $filename) $filename"
commandLine="${__DotNetCli} $__Crossgen2Dll $crossgen2References -O --inputbubble --out $outputDir/$(basename $filename) $filename --targetarch ${__BuildArch}"
fi

echo Precompiling "$filename"
Expand Down Expand Up @@ -696,6 +697,7 @@ if [[ "$__CrossBuild" == 1 ]]; then
fi
__CrossgenCoreLibLog="$__LogsDir/CrossgenCoreLib_$__TargetOS.$BuildArch.$__BuildType.log"
__CrossgenExe="$__CrossComponentBinDir/crossgen"
__Crossgen2Dll="$__CrossComponentBinDir/crossgen2/crossgen2.dll"

# CI_SPECIFIC - On CI machines, $HOME may not be set. In such a case, create a subfolder and set the variable to it.
# This is needed by CLI to function.
Expand Down
1 change: 1 addition & 0 deletions src/coreclr/crosscomponents.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ if (CLR_CMAKE_HOST_OS STREQUAL CLR_CMAKE_TARGET_OS)
set (CLR_CROSS_COMPONENTS_LIST
crossgen
clrjit
jitinterface
)
endif()

Expand Down
41 changes: 32 additions & 9 deletions src/coreclr/src/tools/Common/JitInterface/JitConfigProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
using System.Runtime.InteropServices;
using System.Threading;
using ILCompiler;
using Internal.TypeSystem;
using NumberStyles = System.Globalization.NumberStyles;

namespace Internal.JitInterface
Expand All @@ -29,7 +30,11 @@ public static JitConfigProvider Instance
private Dictionary<string, string> _config = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
private object _keepAlive; // Keeps callback delegates alive

public static void Initialize(IEnumerable<CorJitFlag> jitFlags, IEnumerable<KeyValuePair<string, string>> parameters, string jitPath = null)
public static void Initialize(
TargetDetails target,
IEnumerable<CorJitFlag> jitFlags,
IEnumerable<KeyValuePair<string, string>> parameters,
string jitPath = null)
{
var config = new JitConfigProvider(jitFlags, parameters);

Expand All @@ -39,18 +44,22 @@ public static void Initialize(IEnumerable<CorJitFlag> jitFlags, IEnumerable<KeyV
throw new InvalidOperationException();

#if READYTORUN
if (jitPath != null)
NativeLibrary.SetDllImportResolver(typeof(CorInfoImpl).Assembly, (libName, assembly, searchPath) =>
{
NativeLibrary.SetDllImportResolver(typeof(CorInfoImpl).Assembly, (libName, assembly, searchPath) =>
IntPtr libHandle = IntPtr.Zero;
if (libName == CorInfoImpl.JitLibrary)
{
IntPtr libHandle = IntPtr.Zero;
if (libName == CorInfoImpl.JitLibrary)
if (!string.IsNullOrEmpty(jitPath))
{
libHandle = NativeLibrary.Load(jitPath, assembly, searchPath);
libHandle = NativeLibrary.Load(jitPath);
}
return libHandle;
});
}
else
{
libHandle = NativeLibrary.Load("clrjit-" + GetTargetSpec(target), assembly, searchPath);
}
}
return libHandle;
});
#else
Debug.Assert(jitPath == null);
#endif
Expand Down Expand Up @@ -122,6 +131,20 @@ public string GetStringConfigValue(string name)
return String.Empty;
}

private static string GetTargetSpec(TargetDetails target)
{
string targetOSComponent = (target.OperatingSystem == TargetOS.Windows ? "win" : "unix");
string targetArchComponent = target.Architecture switch
{
TargetArchitecture.X86 => "x86",
TargetArchitecture.X64 => "x64",
TargetArchitecture.ARM => "arm",
TargetArchitecture.ARM64 => "arm64",
_ => throw new NotImplementedException(target.Architecture.ToString())
};
return targetOSComponent + '-' + targetArchComponent;
}

#region Unmanaged instance

private unsafe IntPtr CreateUnmanagedInstance()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
using Internal.IL;
using Internal.JitInterface;
using Internal.ReadyToRunConstants;
using Internal.TypeSystem;
using Internal.TypeSystem.Ecma;

namespace ILCompiler
Expand Down Expand Up @@ -192,7 +191,7 @@ public override ICompilation ToCompilation()
if (_ibcTuning)
corJitFlags.Add(CorJitFlag.CORJIT_FLAG_BBINSTR);

JitConfigProvider.Initialize(corJitFlags, _ryujitOptions, _jitPath);
JitConfigProvider.Initialize(_context.Target, corJitFlags, _ryujitOptions, _jitPath);

return new ReadyToRunCodegenCompilation(
graph,
Expand Down
54 changes: 44 additions & 10 deletions src/coreclr/src/tools/crossgen2/crossgen2/crossgen2.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -40,30 +40,64 @@
</PackageReference>
</ItemGroup>

<PropertyGroup Condition="'$(TargetsUnix)' == 'true'">
<PropertyGroup>
<CrossHostArch></CrossHostArch>
<CrossHostArch Condition="'$(TargetArchitecture)' == 'arm64'">x64</CrossHostArch>

<TargetOSComponent>unix</TargetOSComponent>
<TargetOSComponent Condition="'$(TargetOS)' == 'Windows_NT'">win</TargetOSComponent>
<TargetSpec>$(TargetOSComponent)-$(TargetArchitecture)</TargetSpec>

<LibraryNamePrefix>lib</LibraryNamePrefix>
<LibraryNameExtension>.so</LibraryNameExtension>
<LibraryNameExtension Condition="'$(TargetsOSX)' == 'true'">.dylib</LibraryNameExtension>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetsWindows)' == 'true'">
<LibraryNamePrefix></LibraryNamePrefix>
<LibraryNameExtension>.dll</LibraryNameExtension>
<LibraryNamePrefix Condition="$([MSBuild]::IsOsPlatform('WINDOWS'))"></LibraryNamePrefix>
<LibraryNameExtension Condition="$([MSBuild]::IsOsPlatform('WINDOWS'))">.dll</LibraryNameExtension>
<LibraryNameExtension Condition="$([MSBuild]::IsOsPlatform('LINUX'))">.so</LibraryNameExtension>
<LibraryNameExtension Condition="$([MSBuild]::IsOsPlatform('OSX'))">.dylib</LibraryNameExtension>

<JitInterfaceLibraryName>$(LibraryNamePrefix)jitinterface$(LibraryNameExtension)</JitInterfaceLibraryName>
</PropertyGroup>

<ItemGroup>
<Content Include="$(BinDir)\$(LibraryNamePrefix)jitinterface$(LibraryNameExtension)"
<Content Include="$(BinDir)\$(JitInterfaceLibraryName)"
CopyToOutputDirectory="PreserveNewest"
CopyToPublishDirectory="PreserveNewest"
Link="%(FileName)%(Extension)"
/>

<Content Include="$(BinDir)\$(LibraryNamePrefix)clrjit$(LibraryNameExtension)"
<Content Include="$(BinDir)\$(NativeArchFolder)$(LibraryNamePrefix)clrjit$(LibraryNameExtension)"
CopyToOutputDirectory="PreserveNewest"
CopyToPublishDirectory="PreserveNewest"
Link="$(LibraryNamePrefix)clrjitilc$(LibraryNameExtension)"
Link="$(LibraryNamePrefix)clrjit-$(TargetSpec)$(LibraryNameExtension)"
/>
</ItemGroup>

<Target Name="CreateCrossTargetingPackage" AfterTargets="Build" Condition="'$(CrossHostArch)' != ''">

<PropertyGroup>
<CrossPackageFolder>$(BinDir)\$(CrossHostArch)\crossgen2</CrossPackageFolder>
</PropertyGroup>

<ItemGroup>
<PackageFile Include="$(BinDir)\crossgen2\*"
Exclude="$(BinDir)\crossgen2\$(JitInterfaceLibraryName);$(BinDir)\crossgen2\$(LibraryNamePrefix)clrjit-*$(LibraryNameExtension)" />
<PackageFile Include="$(BinDir)\$(CrossHostArch)\$(JitInterfaceLibraryName)" />
</ItemGroup>

<MakeDir Directories="$(CrossPackageFolder)" />
<Copy
SourceFiles="@(PackageFile)"
DestinationFiles="@(PackageFile->'$(CrossPackageFolder)\%(FileName)%(Extension)')"
UseHardLinksIfPossible="true"
/>

<Copy
SourceFiles="$(BinDir)\$(CrossHostArch)\$(LibraryNamePrefix)clrjit$(LibraryNameExtension)"
DestinationFiles="$(CrossPackageFolder)\$(LibraryNamePrefix)clrjit-$(TargetSpec)$(LibraryNameExtension)"
UseHardLinksIfPossible="true"
/>

</Target>

<Target Name="GenerateDepsJsonFile" Returns="$(ProjectDepsFilePath)" DependsOnTargets="GenerateBuildDependencyFile" />

<Target Name="RemoveLongNameDacFromDepsJson" AfterTargets="ResolveRuntimePackAssets" BeforeTargets="GenerateBuildDependencyFile" Condition="'$(RemoveLongNameDac)' == 'true'">
Expand Down
28 changes: 17 additions & 11 deletions src/coreclr/tests/issues.targets
Original file line number Diff line number Diff line change
Expand Up @@ -913,29 +913,35 @@
<ExcludeList Include="$(XunitTestBinBase)/JIT/Intrinsics/TypeIntrinsics_ro/*">
<Issue>https://github.com/dotnet/runtime/issues/32725</Issue>
</ExcludeList>
<ExcludeList Include="$(XunitTestBinBase)/JIT/Methodical/tailcall_v4/hijacking/*">
<Issue>https://github.com/dotnet/runtime/issues/7597</Issue>
</ExcludeList>
<ExcludeList Include="$(XunitTestBinBase)/JIT/opt/ObjectStackAllocation/ObjectStackAllocationTests/*">
<Issue>Not compatible with crossgen2</Issue>
</ExcludeList>
<ExcludeList Include="$(XunitTestBinBase)/JIT/Regression/CLR-x86-JIT/v2.1/DDB/B168384/LdfldaHack/*">
<Issue>https://github.com/dotnet/runtime/issues/615</Issue>
</ExcludeList>
<ExcludeList Include="$(XunitTestBinBase)/JIT/Stress/ABI/**/*">
<Issue>https://github.com/dotnet/runtime/issues/32725</Issue>
<ExcludeList Include="$(XunitTestBinBase)/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b219940/b219940/*">
<Issue>https://github.com/dotnet/runtime/issues/37579</Issue>
</ExcludeList>
<ExcludeList Include="$(XunitTestBinBase)/tracing/tracevalidation/tracelogging/tracelogging/*">
<Issue>https://github.com/dotnet/runtime/issues/32728</Issue>
<ExcludeList Include="$(XunitTestBinBase)/JIT/Regression/JitBlue/GitHub_27924/GitHub_27924/*">
<Issue>https://github.com/dotnet/runtime/issues/34316</Issue>
</ExcludeList>
<ExcludeList Include="$(XunitTestBinBase)/JIT/SIMD/SimpleSIMDProgram/*">
<Issue>https://github.com/dotnet/runtime/issues/35724</Issue>
</ExcludeList>
<ExcludeList Include="$(XunitTestBinBase)/JIT/opt/ObjectStackAllocation/ObjectStackAllocationTests/*">
<Issue>Not compatible with crossgen2</Issue>
<ExcludeList Include="$(XunitTestBinBase)/JIT/Stress/ABI/**/*">
<Issue>https://github.com/dotnet/runtime/issues/32725</Issue>
</ExcludeList>
<ExcludeList Include="$(XunitTestBinBase)/JIT/superpmi/superpmicollect/*">
<Issue>Not compatible with crossgen2</Issue>
</ExcludeList>
<ExcludeList Include="$(XunitTestBinBase)/JIT/Methodical/tailcall_v4/hijacking/*">
<Issue>https://github.com/dotnet/runtime/issues/7597</Issue>
</ExcludeList>
<ExcludeList Include="$(XunitTestBinBase)/Loader/AssemblyDependencyResolver/AssemblyDependencyResolverTests/AssemblyDependencyResolverTests/*">
<Issue>https://github.com/dotnet/runtime/issues/34905</Issue>
</ExcludeList>
<ExcludeList Include="$(XunitTestBinBase)/JIT/SIMD/SimpleSIMDProgram/*">
<Issue>https://github.com/dotnet/runtime/issues/35724</Issue>
<ExcludeList Include="$(XunitTestBinBase)/tracing/tracevalidation/tracelogging/tracelogging/*">
<Issue>https://github.com/dotnet/runtime/issues/32728</Issue>
</ExcludeList>
</ItemGroup>

Expand Down
4 changes: 2 additions & 2 deletions src/coreclr/tests/src/CLRTest.CrossGen.targets
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ if [ ! -z ${RunCrossGen2+x} ]%3B then
echo -r:$CORE_ROOT/System.*.dll>>$__ResponseFile
echo -r:$CORE_ROOT/Microsoft.*.dll>>$__ResponseFile
echo -r:$CORE_ROOT/mscorlib.dll>>$__ResponseFile
echo --targetarch=x64>>$__ResponseFile
echo --targetarch:$(TargetArchitecture)>>$__ResponseFile
echo -O>>$__ResponseFile

echo "Response file: $__ResponseFile"
Expand Down Expand Up @@ -204,7 +204,7 @@ if defined RunCrossGen2 (
)

echo -o:!__OutputFile!>>!__ResponseFile!
echo --targetarch:x64>>!__ResponseFile!
echo --targetarch:$(TargetArchitecture)>>!__ResponseFile!
echo -O>>!__ResponseFile!
echo -r:!CORE_ROOT!\System.*.dll>>!__ResponseFile!
echo -r:!CORE_ROOT!\Microsoft.*.dll>>!__ResponseFile!
Expand Down
Loading