From 4307360ac9b10f3d17d803e14c87b5a76adf7439 Mon Sep 17 00:00:00 2001 From: Tomas Rylek Date: Sun, 25 Oct 2020 20:56:40 +0100 Subject: [PATCH 01/24] Stop calling crossgen-corelib.cmd / sh from the proj script This initial change moves the actual SPC crossgenning logic from the cmd / sh scripts to the common proj script. I have yet to address cross-targeting and IBC, for now I'm striving for basic functionality. On Windows I'm currently hitting the absence of Microsoft.DiaSymReader.Native.amd64.dll that gets consumed via an ambient VS installation. Linking to the related issue. Thanks Tomas --- src/coreclr/crossgen-corelib.proj | 61 +++++++++++++++++++++++++------ 1 file changed, 50 insertions(+), 11 deletions(-) diff --git a/src/coreclr/crossgen-corelib.proj b/src/coreclr/crossgen-corelib.proj index bf26cd259a8c5..f39fd67b33e2d 100644 --- a/src/coreclr/crossgen-corelib.proj +++ b/src/coreclr/crossgen-corelib.proj @@ -3,21 +3,60 @@ - - <_CoreClrBuildArg Condition="'$(TargetArchitecture)' != ''" Include="-$(TargetArchitecture)" /> - <_CoreClrBuildArg Include="-$(Configuration.ToLower())" /> - <_CoreClrBuildArg Condition="!$([MSBuild]::IsOsPlatform(Windows))" Include="-os $(TargetOS)" /> - <_CoreClrBuildArg Condition="'$(CrossBuild)' == 'true'" Include="-cross" /> - <_CoreClrBuildArg Condition="'$(PortableBuild)' != 'true'" Include="-portablebuild=false" /> - + + $(TargetOS).$(TargetArchitecture).$(Configuration) + $(RepoRoot)\artifacts + $(RootBinDir)\log + $(RootBinDir)\bin\coreclr\$(OSPlatformConfig) + $(RootBinDir)\obj\coreclr\$(OSPlatformConfig) + $(BinDir) + $(LogsDir)\CrossgenCoreLib_$(TargetOS)__$(TargetArchitecture)__$(Configuration).log + $(CrossComponentBinDir)\crossgen.exe + + System.Private.CoreLib + $(BinDir)\$(CoreLibAssemblyName).dll + + + + + - <_CoreClrBuildScript Condition="$([MSBuild]::IsOsPlatform(Windows))">crossgen-corelib.cmd - <_CoreClrBuildScript Condition="!$([MSBuild]::IsOsPlatform(Windows))">crossgen-corelib.sh + $(CrossGenExe) + $(CrossGenCmd) /nologo + $(CrossGenCmd) + $(CrossGenCmd) /Platform_Assemblies_Paths "$(BinDir)\IL" + + $(CrossGenCmd) /out "$(CoreLibOutputPath)" + $(CrossGenDllCmd) "$(BinDir)\IL\$(CoreLibAssemblyName).dll" + + + $(CrossGenCmd) /CreatePerfMap "$(BinDir)" + $(CrossGenPerMapCmd) "$(CoreLibOutputPath)" + + + + $(CrossGenCmd) /CreatePdb "$(BinDir)\PDB" + $(CrossGenPdbCmd) "$(CoreLibOutputPath)" + + + + + + + + + + + + + - - + + From 50f1f74e935e119b9f30753ce48fa4af01d99154 Mon Sep 17 00:00:00 2001 From: Tomas Rylek Date: Sun, 25 Oct 2020 22:58:30 +0100 Subject: [PATCH 02/24] Linux fixes for SPC crossgenning --- src/coreclr/crossgen-corelib.proj | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/coreclr/crossgen-corelib.proj b/src/coreclr/crossgen-corelib.proj index f39fd67b33e2d..bce0ebb428ee9 100644 --- a/src/coreclr/crossgen-corelib.proj +++ b/src/coreclr/crossgen-corelib.proj @@ -11,7 +11,8 @@ $(RootBinDir)\obj\coreclr\$(OSPlatformConfig) $(BinDir) $(LogsDir)\CrossgenCoreLib_$(TargetOS)__$(TargetArchitecture)__$(Configuration).log - $(CrossComponentBinDir)\crossgen.exe + .exe + $(CrossComponentBinDir)\crossgen$(ExeExtension) System.Private.CoreLib $(BinDir)\$(CoreLibAssemblyName).dll @@ -33,9 +34,9 @@ $(CrossGenDllCmd) "$(BinDir)\IL\$(CoreLibAssemblyName).dll" - - $(CrossGenCmd) /CreatePerfMap "$(BinDir)" - $(CrossGenPerMapCmd) "$(CoreLibOutputPath)" + + $(CrossGenCmd) /CreatePerfMap "$(BinDir)" + $(CrossGenPerfMapCmd) "$(CoreLibOutputPath)" From b81cf2db68db7c65e50561d9cc0f0cb570d8de51 Mon Sep 17 00:00:00 2001 From: Tomas Date: Sat, 31 Oct 2020 00:08:23 +0100 Subject: [PATCH 03/24] Add call to setup_vs_tools to the step using crossgen to emit PDB As an expediency measure, I propose temporarily calling setup_vs_tools at the exact place we call crossgen to produce the System.Private.CoreLib PDB file. This highlights the local nature of the hotfix. Once we figure out a common strategy for VS installation interplay with runtime build on Windows, the hotfix can be easily removed. Thanks Tomas --- src/coreclr/crossgen-corelib.proj | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/coreclr/crossgen-corelib.proj b/src/coreclr/crossgen-corelib.proj index bce0ebb428ee9..aec2439b093a7 100644 --- a/src/coreclr/crossgen-corelib.proj +++ b/src/coreclr/crossgen-corelib.proj @@ -40,7 +40,8 @@ - $(CrossGenCmd) /CreatePdb "$(BinDir)\PDB" + call $(RepoRoot)\src\coreclr\setup_vs_tools.cmd + $(VsSetupCmd) && $(CrossGenCmd) /CreatePdb "$(BinDir)\PDB" $(CrossGenPdbCmd) "$(CoreLibOutputPath)" From 1af6ad0fe41e98d91980f58c6fc62ff60b97fced Mon Sep 17 00:00:00 2001 From: Tomas Date: Sat, 31 Oct 2020 01:19:42 +0100 Subject: [PATCH 04/24] Add cross-building support; clean up PDB & PerfMap conditionals --- src/coreclr/crossgen-corelib.proj | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/src/coreclr/crossgen-corelib.proj b/src/coreclr/crossgen-corelib.proj index aec2439b093a7..af46106b4abcf 100644 --- a/src/coreclr/crossgen-corelib.proj +++ b/src/coreclr/crossgen-corelib.proj @@ -9,13 +9,25 @@ $(RootBinDir)\log $(RootBinDir)\bin\coreclr\$(OSPlatformConfig) $(RootBinDir)\obj\coreclr\$(OSPlatformConfig) - $(BinDir) $(LogsDir)\CrossgenCoreLib_$(TargetOS)__$(TargetArchitecture)__$(Configuration).log .exe - $(CrossComponentBinDir)\crossgen$(ExeExtension) System.Private.CoreLib $(BinDir)\$(CoreLibAssemblyName).dll + + false + true + + false + true + + + + $(BinDir) + $(CrossComponentBinDir)\x86 + $(CrossComponentBinDir)\x64 + + $(CrossComponentBinDir)\crossgen$(ExeExtension) $(CrossGenDllCmd) "$(BinDir)\IL\$(CoreLibAssemblyName).dll" - + $(CrossGenCmd) /CreatePerfMap "$(BinDir)" $(CrossGenPerfMapCmd) "$(CoreLibOutputPath)" - + call $(RepoRoot)\src\coreclr\setup_vs_tools.cmd $(VsSetupCmd) && $(CrossGenCmd) /CreatePdb "$(BinDir)\PDB" $(CrossGenPdbCmd) "$(CoreLibOutputPath)" @@ -49,13 +61,13 @@ - + - + - + - + From 2df5b130c923aec5eabb3a913d8036d76574f39a Mon Sep 17 00:00:00 2001 From: Tomas Date: Sat, 31 Oct 2020 14:44:14 +0100 Subject: [PATCH 05/24] Fix folder name for cross-targeting Crossgen --- src/coreclr/crossgen-corelib.proj | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/coreclr/crossgen-corelib.proj b/src/coreclr/crossgen-corelib.proj index af46106b4abcf..5b0089876e937 100644 --- a/src/coreclr/crossgen-corelib.proj +++ b/src/coreclr/crossgen-corelib.proj @@ -24,9 +24,7 @@ $(BinDir) - $(CrossComponentBinDir)\x86 - $(CrossComponentBinDir)\x64 - + $(CrossComponentBinDir)\$(BuildArchitecture) $(CrossComponentBinDir)\crossgen$(ExeExtension) From 7ff71a0e4d06792cf0d3f22dc10ada3566a7c807 Mon Sep 17 00:00:00 2001 From: Tomas Date: Sat, 31 Oct 2020 15:40:14 +0100 Subject: [PATCH 06/24] Adjust cross-build host architecture specifications --- src/coreclr/crossgen-corelib.proj | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/coreclr/crossgen-corelib.proj b/src/coreclr/crossgen-corelib.proj index 5b0089876e937..7a427d9cfba99 100644 --- a/src/coreclr/crossgen-corelib.proj +++ b/src/coreclr/crossgen-corelib.proj @@ -24,7 +24,9 @@ $(BinDir) - $(CrossComponentBinDir)\$(BuildArchitecture) + x64 + x86 + x64 $(CrossComponentBinDir)\crossgen$(ExeExtension) From 839acc3d98c2501c3d0a803c794f587d06c72445 Mon Sep 17 00:00:00 2001 From: Tomas Date: Sat, 31 Oct 2020 16:10:01 +0100 Subject: [PATCH 07/24] Fix CrossComponentBinDir construction; shorten to CrossDir --- src/coreclr/crossgen-corelib.proj | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/coreclr/crossgen-corelib.proj b/src/coreclr/crossgen-corelib.proj index 7a427d9cfba99..61b4979287084 100644 --- a/src/coreclr/crossgen-corelib.proj +++ b/src/coreclr/crossgen-corelib.proj @@ -23,11 +23,12 @@ - $(BinDir) - x64 - x86 - x64 - $(CrossComponentBinDir)\crossgen$(ExeExtension) + + x64 + x86 + x64 + $(BuildArchitecture) + $(BinDir)\$(CrossDir)\crossgen$(ExeExtension) Date: Sat, 31 Oct 2020 16:30:55 +0100 Subject: [PATCH 08/24] Typo --- src/coreclr/crossgen-corelib.proj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/coreclr/crossgen-corelib.proj b/src/coreclr/crossgen-corelib.proj index 61b4979287084..cd1051d8ad08d 100644 --- a/src/coreclr/crossgen-corelib.proj +++ b/src/coreclr/crossgen-corelib.proj @@ -27,7 +27,7 @@ x64 x86 x64 - $(BuildArchitecture) + $(BuildArchitecture) $(BinDir)\$(CrossDir)\crossgen$(ExeExtension) From 63a2fff480bea7e1ef1366da3890eeba95a334ca Mon Sep 17 00:00:00 2001 From: Tomas Date: Sat, 31 Oct 2020 18:58:58 +0100 Subject: [PATCH 09/24] Fix CrossBuild treatment (to fix FreeBSD run skipping Crossgen2) --- src/coreclr/crossgen-corelib.proj | 33 ++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/src/coreclr/crossgen-corelib.proj b/src/coreclr/crossgen-corelib.proj index cd1051d8ad08d..65cfbc8038ca1 100644 --- a/src/coreclr/crossgen-corelib.proj +++ b/src/coreclr/crossgen-corelib.proj @@ -13,21 +13,28 @@ .exe System.Private.CoreLib + $(BinDir)\IL\$(CoreLibAssemblyName).dll $(BinDir)\$(CoreLibAssemblyName).dll - false - true + true + - false - true + + false + true + true + true + + $(BuildArchitecture) - - x64 - x86 - x64 - $(BuildArchitecture) + false + true + + false + true + $(BinDir)\$(CrossDir)\crossgen$(ExeExtension) @@ -44,7 +51,7 @@ $(CrossGenCmd) /Platform_Assemblies_Paths "$(BinDir)\IL" $(CrossGenCmd) /out "$(CoreLibOutputPath)" - $(CrossGenDllCmd) "$(BinDir)\IL\$(CoreLibAssemblyName).dll" + $(CrossGenDllCmd) "$(CoreLibInputPath)" @@ -58,9 +65,9 @@ $(CrossGenPdbCmd) "$(CoreLibOutputPath)" - + - + @@ -70,6 +77,8 @@ + + From 03011bb47df63d932455348933b4c3d8115e9dc3 Mon Sep 17 00:00:00 2001 From: Tomas Date: Sat, 31 Oct 2020 19:33:19 +0100 Subject: [PATCH 10/24] Typo --- src/coreclr/crossgen-corelib.proj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/coreclr/crossgen-corelib.proj b/src/coreclr/crossgen-corelib.proj index 65cfbc8038ca1..382fdeda38ea5 100644 --- a/src/coreclr/crossgen-corelib.proj +++ b/src/coreclr/crossgen-corelib.proj @@ -21,9 +21,9 @@ false - true - true - true + true + true + true $(BuildArchitecture) From a9c08b6d694df7e708ab85b6b3cd3d04028acbb3 Mon Sep 17 00:00:00 2001 From: Tomas Date: Sat, 31 Oct 2020 20:13:08 +0100 Subject: [PATCH 11/24] Make CrossBuild automatic on Windows --- src/coreclr/crossgen-corelib.proj | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/coreclr/crossgen-corelib.proj b/src/coreclr/crossgen-corelib.proj index 382fdeda38ea5..abd66baae10bc 100644 --- a/src/coreclr/crossgen-corelib.proj +++ b/src/coreclr/crossgen-corelib.proj @@ -16,19 +16,17 @@ $(BinDir)\IL\$(CoreLibAssemblyName).dll $(BinDir)\$(CoreLibAssemblyName).dll - true - + true + false + true + true + true - - false - true - true - true + $(BuildArchitecture) - $(BuildArchitecture) - + true + false - false true From 9019e9d7113eb5a832a31afd2de76641e8596635 Mon Sep 17 00:00:00 2001 From: Tomas Date: Sat, 31 Oct 2020 21:23:02 +0100 Subject: [PATCH 12/24] One more clarification w.r.t. cross-build specification --- src/coreclr/crossgen-corelib.proj | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/coreclr/crossgen-corelib.proj b/src/coreclr/crossgen-corelib.proj index abd66baae10bc..5731777e217d0 100644 --- a/src/coreclr/crossgen-corelib.proj +++ b/src/coreclr/crossgen-corelib.proj @@ -16,8 +16,7 @@ $(BinDir)\IL\$(CoreLibAssemblyName).dll $(BinDir)\$(CoreLibAssemblyName).dll - true - false + false true true true From 25583a3eaf25ce69efeafe3ce0ed170234b5ff42 Mon Sep 17 00:00:00 2001 From: Tomas Date: Sat, 31 Oct 2020 22:01:07 +0100 Subject: [PATCH 13/24] One more --- src/coreclr/crossgen-corelib.proj | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/coreclr/crossgen-corelib.proj b/src/coreclr/crossgen-corelib.proj index 5731777e217d0..d964004fc79d9 100644 --- a/src/coreclr/crossgen-corelib.proj +++ b/src/coreclr/crossgen-corelib.proj @@ -16,15 +16,12 @@ $(BinDir)\IL\$(CoreLibAssemblyName).dll $(BinDir)\$(CoreLibAssemblyName).dll - false - true - true - true - - $(BuildArchitecture) + + x64 + x86 true - false + false false true From 5ea9a827583bf903a3064c6b5297e358ca33f023 Mon Sep 17 00:00:00 2001 From: Tomas Date: Sun, 1 Nov 2020 00:43:48 +0100 Subject: [PATCH 14/24] Add support for Crossgen2 --- eng/Subsets.props | 18 +++++++++------- src/coreclr/crossgen-corelib.proj | 36 +++++++++++++++++++++++++------ 2 files changed, 40 insertions(+), 14 deletions(-) diff --git a/eng/Subsets.props b/eng/Subsets.props index 43843ea213934..631bd533723cf 100644 --- a/eng/Subsets.props +++ b/eng/Subsets.props @@ -54,7 +54,7 @@ - clr.runtime+clr.jit+clr.alljits+linuxdac+clr.corelib+clr.nativecorelib+clr.tools+clr.packages + clr.runtime+clr.jit+clr.alljits+linuxdac+clr.corelib+clr.tools+clr.nativecorelib+clr.packages mono.llvm+ mono.llvm+ @@ -191,17 +191,19 @@ - - - - - - + $(CoreClrProjectRoot)src\tools\r2rtest\R2RTest.csproj; + $(CoreClrProjectRoot)src\tools\aot\crossgen2\crossgen2.csproj" Category="clr" /> + + + + + + diff --git a/src/coreclr/crossgen-corelib.proj b/src/coreclr/crossgen-corelib.proj index d964004fc79d9..264b67f0317ac 100644 --- a/src/coreclr/crossgen-corelib.proj +++ b/src/coreclr/crossgen-corelib.proj @@ -4,6 +4,9 @@ + true + false + $(TargetOS).$(TargetArchitecture).$(Configuration) $(RepoRoot)\artifacts $(RootBinDir)\log @@ -11,6 +14,8 @@ $(RootBinDir)\obj\coreclr\$(OSPlatformConfig) $(LogsDir)\CrossgenCoreLib_$(TargetOS)__$(TargetArchitecture)__$(Configuration).log .exe + $(RepoRoot)/dotnet.sh + $(RepoRoot)\dotnet.cmd System.Private.CoreLib $(BinDir)\IL\$(CoreLibAssemblyName).dll @@ -28,8 +33,6 @@ false true - - $(BinDir)\$(CrossDir)\crossgen$(ExeExtension) - $(CrossGenExe) + $(DotNetCli) $(BinDir)\$(CrossDir)\crossgen2\crossgen2.dll + $(CrossGenDllCmd) -o:$(CoreLibOutputPath) + $(CrossGenDllCmd) -r:$(BinDir)\IL\*.dll + $(CrossGenDllCmd) --targetarch:$(TargetArchitecture) + $(CrossGenDllCmd) -O + $(CrossGenDllCmd) $(CoreLibInputPath) + + + + $(BinDir)\$(CrossDir)\crossgen$(ExeExtension) $(CrossGenCmd) /nologo $(CrossGenCmd) $(CrossGenCmd) /Platform_Assemblies_Paths "$(BinDir)\IL" @@ -47,15 +59,27 @@ $(CrossGenCmd) /out "$(CoreLibOutputPath)" $(CrossGenDllCmd) "$(CoreLibInputPath)" - + + echo TODO: PerfMap in Crossgen2 + + + $(CrossGenCmd) /CreatePerfMap "$(BinDir)" $(CrossGenPerfMapCmd) "$(CoreLibOutputPath)" - call $(RepoRoot)\src\coreclr\setup_vs_tools.cmd - $(VsSetupCmd) && $(CrossGenCmd) /CreatePdb "$(BinDir)\PDB" + $(DotNetCli) $(BinDir)\r2rdump\r2rdump.dll + $(CrossGenPdbCmd) --create-pdb + $(CrossGenPdbCmd) --pdb-path:$(BinDir)\PDB + $(CrossGenPdbCmd) --in:$(CoreLibOutputPath) + + + + call $(RepoRoot)\src\coreclr\setup_vs_tools.cmd && + + $(VsSetupCmd) $(CrossGenCmd) /CreatePdb "$(BinDir)\PDB" $(CrossGenPdbCmd) "$(CoreLibOutputPath)" From c6db7127bfff993b70011a28fe7e472ed9aed683 Mon Sep 17 00:00:00 2001 From: Tomas Date: Sun, 1 Nov 2020 15:06:14 +0100 Subject: [PATCH 15/24] Fix x86 Windows build using Crossgen2 --- src/coreclr/crossgen-corelib.proj | 1 + src/coreclr/src/tools/r2rdump/R2RDump.csproj | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/coreclr/crossgen-corelib.proj b/src/coreclr/crossgen-corelib.proj index 264b67f0317ac..5063603454dab 100644 --- a/src/coreclr/crossgen-corelib.proj +++ b/src/coreclr/crossgen-corelib.proj @@ -24,6 +24,7 @@ x64 x86 + $(BuildArchitecture) true false diff --git a/src/coreclr/src/tools/r2rdump/R2RDump.csproj b/src/coreclr/src/tools/r2rdump/R2RDump.csproj index 0b575b257ff2a..46b8e0c6eaa50 100644 --- a/src/coreclr/src/tools/r2rdump/R2RDump.csproj +++ b/src/coreclr/src/tools/r2rdump/R2RDump.csproj @@ -4,7 +4,8 @@ 1.0.0.0 true Exe - AnyCPU + x64;x86;arm64;arm + AnyCPU Open true $(NetCoreAppToolCurrent) @@ -12,7 +13,6 @@ 8002,NU1701 win-x64;win-x86 $(RuntimeBinDir)/R2RDump - AnyCPU;x64 From 125eaa022d7f4916506fc2061c4a0ad2a5fbfd89 Mon Sep 17 00:00:00 2001 From: Tomas Date: Sun, 1 Nov 2020 17:22:26 +0100 Subject: [PATCH 16/24] Fix hosting architecture for arm CG2 cross-build to x64 --- src/coreclr/crossgen-corelib.proj | 1 - 1 file changed, 1 deletion(-) diff --git a/src/coreclr/crossgen-corelib.proj b/src/coreclr/crossgen-corelib.proj index 5063603454dab..aac0c40f0e671 100644 --- a/src/coreclr/crossgen-corelib.proj +++ b/src/coreclr/crossgen-corelib.proj @@ -23,7 +23,6 @@ x64 - x86 $(BuildArchitecture) true From 8594a6a956eb5c67abba8e7782595794afbeacca Mon Sep 17 00:00:00 2001 From: Tomas Date: Mon, 2 Nov 2020 00:15:27 +0100 Subject: [PATCH 17/24] Fix several bugs in Crossgen1 mode; making it the default to test --- src/coreclr/crossgen-corelib.proj | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/src/coreclr/crossgen-corelib.proj b/src/coreclr/crossgen-corelib.proj index aac0c40f0e671..b95591311cc52 100644 --- a/src/coreclr/crossgen-corelib.proj +++ b/src/coreclr/crossgen-corelib.proj @@ -4,8 +4,9 @@ - true - false + false + true + false $(TargetOS).$(TargetArchitecture).$(Configuration) $(RepoRoot)\artifacts @@ -31,8 +32,13 @@ false true - false + true true + + $(BinDir)\$(CrossDir)\crossgen$(ExeExtension) + $(CrossGen1Cmd) /nologo + $(CrossGen1Cmd) + $(CrossGen1Cmd) /Platform_Assemblies_Paths "$(BinDir)\IL" - $(BinDir)\$(CrossDir)\crossgen$(ExeExtension) - $(CrossGenCmd) /nologo - $(CrossGenCmd) - $(CrossGenCmd) /Platform_Assemblies_Paths "$(BinDir)\IL" - - $(CrossGenCmd) /out "$(CoreLibOutputPath)" + $(CrossGen1Cmd) /out "$(CoreLibOutputPath)" $(CrossGenDllCmd) "$(CoreLibInputPath)" + + - echo TODO: PerfMap in Crossgen2 - - - - $(CrossGenCmd) /CreatePerfMap "$(BinDir)" + $(CrossGen1Cmd) /CreatePerfMap "$(BinDir)" $(CrossGenPerfMapCmd) "$(CoreLibOutputPath)" @@ -79,7 +78,7 @@ call $(RepoRoot)\src\coreclr\setup_vs_tools.cmd && - $(VsSetupCmd) $(CrossGenCmd) /CreatePdb "$(BinDir)\PDB" + $(VsSetupCmd) $(CrossGen1Cmd) /CreatePdb "$(BinDir)\PDB" $(CrossGenPdbCmd) "$(CoreLibOutputPath)" From ef1cf4bc14495be3a274d9499727ca687c95d9a1 Mon Sep 17 00:00:00 2001 From: Tomas Date: Mon, 2 Nov 2020 02:05:27 +0100 Subject: [PATCH 18/24] Undo local instrumentation unconditionally enabling PerfMap --- src/coreclr/crossgen-corelib.proj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/coreclr/crossgen-corelib.proj b/src/coreclr/crossgen-corelib.proj index b95591311cc52..d59a15f617a51 100644 --- a/src/coreclr/crossgen-corelib.proj +++ b/src/coreclr/crossgen-corelib.proj @@ -32,7 +32,7 @@ false true - true + false true $(BinDir)\$(CrossDir)\crossgen$(ExeExtension) From 21aa174996b6bcbb07267ea8c0616abff5c84a8c Mon Sep 17 00:00:00 2001 From: Tomas Date: Mon, 2 Nov 2020 02:29:36 +0100 Subject: [PATCH 19/24] Fix CG1 cross-build for ARM --- src/coreclr/crossgen-corelib.proj | 1 + 1 file changed, 1 insertion(+) diff --git a/src/coreclr/crossgen-corelib.proj b/src/coreclr/crossgen-corelib.proj index d59a15f617a51..3a7a3b3f44a02 100644 --- a/src/coreclr/crossgen-corelib.proj +++ b/src/coreclr/crossgen-corelib.proj @@ -24,6 +24,7 @@ x64 + x86 $(BuildArchitecture) true From a286ddeca65352cd4385bc3610097ecbb543fd84 Mon Sep 17 00:00:00 2001 From: Tomas Date: Tue, 3 Nov 2020 21:10:56 +0100 Subject: [PATCH 20/24] Fix ARM cross-targeting on Windows Crossgen1 --- src/coreclr/crossgen-corelib.proj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/coreclr/crossgen-corelib.proj b/src/coreclr/crossgen-corelib.proj index 3a7a3b3f44a02..c1d817f976e9e 100644 --- a/src/coreclr/crossgen-corelib.proj +++ b/src/coreclr/crossgen-corelib.proj @@ -24,7 +24,7 @@ x64 - x86 + x86 $(BuildArchitecture) true From 4501b4836e1ffe191b45fb7db976d60c2cb31901 Mon Sep 17 00:00:00 2001 From: Tomas Date: Tue, 3 Nov 2020 23:47:36 +0100 Subject: [PATCH 21/24] Put back CG2 as the default SPC compiler --- src/coreclr/crossgen-corelib.proj | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/coreclr/crossgen-corelib.proj b/src/coreclr/crossgen-corelib.proj index c1d817f976e9e..0180e6bbd8112 100644 --- a/src/coreclr/crossgen-corelib.proj +++ b/src/coreclr/crossgen-corelib.proj @@ -4,9 +4,14 @@ + + + + true + false true - false + $(UseCrossgen2ByDefault) $(TargetOS).$(TargetArchitecture).$(Configuration) $(RepoRoot)\artifacts From b7ecf5d4b75a43b4e0aeefae2bbcf479d7d46da2 Mon Sep 17 00:00:00 2001 From: Tomas Date: Wed, 4 Nov 2020 02:01:47 +0100 Subject: [PATCH 22/24] Reflect Anirudh's change renaming TargetOS to just Windows --- src/coreclr/crossgen-corelib.proj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/coreclr/crossgen-corelib.proj b/src/coreclr/crossgen-corelib.proj index 0180e6bbd8112..0dd93f1f23f0f 100644 --- a/src/coreclr/crossgen-corelib.proj +++ b/src/coreclr/crossgen-corelib.proj @@ -36,7 +36,7 @@ false false - true + true false true From 19aae26a26cdd6a466ac0a5d0166701d9c980cd5 Mon Sep 17 00:00:00 2001 From: Tomas Date: Mon, 9 Nov 2020 21:19:52 +0100 Subject: [PATCH 23/24] Simplify usage of UseCrossgen2 property per Anton's PR feedback --- src/coreclr/crossgen-corelib.proj | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/coreclr/crossgen-corelib.proj b/src/coreclr/crossgen-corelib.proj index 0dd93f1f23f0f..8c6437b85eba0 100644 --- a/src/coreclr/crossgen-corelib.proj +++ b/src/coreclr/crossgen-corelib.proj @@ -4,14 +4,8 @@ - - - - true - - false - true - $(UseCrossgen2ByDefault) + + true $(TargetOS).$(TargetArchitecture).$(Configuration) $(RepoRoot)\artifacts @@ -29,8 +23,8 @@ x64 - x86 - $(BuildArchitecture) + x86 + $(BuildArchitecture) true false From c81441ee7e9a45680c0a6b9db2647e33022e661b Mon Sep 17 00:00:00 2001 From: Tomas Date: Wed, 11 Nov 2020 23:56:58 +0100 Subject: [PATCH 24/24] Make Crossgen1 the default before the libraries failure is fixed --- src/coreclr/crossgen-corelib.proj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/coreclr/crossgen-corelib.proj b/src/coreclr/crossgen-corelib.proj index 8c6437b85eba0..6144cbfaf08ee 100644 --- a/src/coreclr/crossgen-corelib.proj +++ b/src/coreclr/crossgen-corelib.proj @@ -5,7 +5,7 @@ - true + false $(TargetOS).$(TargetArchitecture).$(Configuration) $(RepoRoot)\artifacts