Use ILAsm from buildtools, take 2 (#15300)
authorMichal Strehovský <MichalStrehovsky@users.noreply.github.com>
Thu, 30 Nov 2017 20:23:34 +0000 (21:23 +0100)
committerGitHub <noreply@github.com>
Thu, 30 Nov 2017 20:23:34 +0000 (21:23 +0100)
Since #15172 got rolled back in #15292, trying this again.

This time also deleting garbage `.permission` attributes from the failing tests. Permissions are not supported in CoreCLR.

Filed #15299 on some more ILAsm from CoreCLR frustrations.

tests/dir.props
tests/src/IL.targets [deleted file]
tests/src/baseservices/exceptions/regressions/V1/SEH/asm/Except.il
tests/src/baseservices/exceptions/regressions/V1/SEH/asm/FiltCatch.il
tests/src/baseservices/exceptions/regressions/V1/SEH/asm/FiltFallThru.il
tests/src/baseservices/exceptions/regressions/V1/SEH/asm/Finally.il
tests/src/dir.targets

index abf2c68..ec1d57f 100644 (file)
@@ -43,7 +43,6 @@
     <_TargetFrameworkDirectories Condition="'$(BuildToolsTargetsDesktop)' != 'true'">$(MSBuildThisFileDirectory)/Documentation</_TargetFrameworkDirectories>
     <_FullFrameworkReferenceAssemblyPaths Condition="'$(BuildToolsTargetsDesktop)' != 'true'">$(MSBuildThisFileDirectory)/Documentation</_FullFrameworkReferenceAssemblyPaths>
     <ExcludeSigningImport>true</ExcludeSigningImport>
-    <SkipImportILTargets>true</SkipImportILTargets>
   </PropertyGroup>
 
   <!-- Common properties -->
diff --git a/tests/src/IL.targets b/tests/src/IL.targets
deleted file mode 100644 (file)
index d1075e5..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-
-  <!-- Required by Microsoft.Common.targets -->
-  <Target Name="CreateManifestResourceNames" Condition="'@(EmbeddedResource)' != ''" />
-
-  <Target Name="CoreCompile"
-          Inputs="$(MSBuildAllProjects);
-                  @(Compile)"
-          Outputs="@(IntermediateAssembly);"
-          Returns=""
-          DependsOnTargets="$(CoreCompileDependsOn)">
-    <PropertyGroup>
-      <_ShellKeyMarker Condition="'$(RunningOnUnix)' == 'true'">-</_ShellKeyMarker>  <!-- Work around ilasm comandline parser bugs... -->
-      <_ShellKeyMarker Condition="'$(RunningOnUnix)' != 'true'">/</_ShellKeyMarker>
-      <_ilasm>ilasm</_ilasm>
-      <_ilasm Condition="'$(RunningOnUnix)' == 'true'">$(CoreCLRBinDir)ilasm</_ilasm>
-      <_OutputTypeArgument Condition="'$(OutputType)' == 'Library'">$(_ShellKeyMarker)DLL</_OutputTypeArgument>
-      <_OutputTypeArgument Condition="'$(OutputType)' == 'Exe'">$(_ShellKeyMarker)EXE</_OutputTypeArgument>
-      <_IlasmSwitches>-QUIET -NOLOGO</_IlasmSwitches>
-      <_IlasmSwitches Condition="'$(FoldIdenticalMethods)' == 'True'">$(_IlasmSwitches) -FOLD</_IlasmSwitches>
-      <_IlasmSwitches Condition="'$(SizeOfStackReserve)' != ''">$(_IlasmSwitches) -STACK=$(SizeOfStackReserve)</_IlasmSwitches>
-      <_IlasmSwitches Condition="'$(DebugType)' == 'Full'">$(_IlasmSwitches) -DEBUG</_IlasmSwitches>
-      <_IlasmSwitches Condition="'$(DebugType)' == 'Impl'">$(_IlasmSwitches) -DEBUG=IMPL</_IlasmSwitches>
-      <_IlasmSwitches Condition="'$(DebugType)' == 'PdbOnly'">$(_IlasmSwitches) -DEBUG=OPT</_IlasmSwitches>
-      <_IlasmSwitches Condition="'$(Optimize)' == 'True'">$(_IlasmSwitches) -OPTIMIZE</_IlasmSwitches>
-    </PropertyGroup>
-
-    <Exec Command="$(_ilasm) $(_OutputTypeArgument) $(_ShellKeyMarker)OUTPUT=@(IntermediateAssembly) $(_IlasmSwitches) @(Compile)">
-      <Output TaskParameter="ExitCode" PropertyName="_ILAsmExitCode" />
-    </Exec>
-    <Error Text="ILAsm failed" Condition="'$(_ILAsmExitCode)' != '0'" />
-  </Target>
-
-  <Import Project="$(MSBuildToolsPath)\Microsoft.Common.targets" />
-
-</Project>
index 1e481a3..78530d0 100644 (file)
   .ver 4:0:0:0
 }
 
-.assembly Except.exe{
- //This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
-  //[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
-  .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
-}
+.assembly Except.exe{}
 
 .class         Except {
 
index f248a93..0cffb2b 100644 (file)
   .ver 4:0:0:0
 }
 
-.assembly FiltCatch.exe{
-  //This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
-  //[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
-  .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )}
+.assembly FiltCatch.exe{}
 
 .class         FiltCatch {
 
index 4168fcd..57f32f0 100644 (file)
   .ver 4:0:0:0
 }
 
-.assembly FiltFallThru{
-//This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
-  //[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
-  .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )}
+.assembly FiltFallThru{}
 
 .class         FiltFallThru {
 
index 06d1338..30b31e5 100644 (file)
   .ver 4:0:0:0
 }
 
-.assembly Finally.exe{
-//This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
-  //[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
-  .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )}
+.assembly Finally.exe{}
 
 
 .class         Finally {
index 4aa925f..e6845e0 100644 (file)
   <PropertyGroup Condition="'$(ProjectLanguage)' == ''">
     <ProjectLanguage Condition="'$(MSBuildProjectExtension)' == '.ilproj' OR '$(Language)' == 'IL'">IL</ProjectLanguage>
     <ProjectLanguage Condition="'$(MSBuildProjectExtension)' == '.csproj' OR '$(Language)' == 'C#' OR '$(ProjectLanguage)'==''">CSharp</ProjectLanguage>
-  </PropertyGroup>
-  
-  <Import Project="$(ProjectDir)src\IL.targets" Condition="'$(ProjectLanguage)' == 'IL' And '$(CLRTestPriority)' &lt;= '$(CLRTestPriorityToBuild)'" />
 
+    <SkipImportILTargets Condition="'$(CLRTestPriority)' &gt; '$(CLRTestPriorityToBuild)'">true</SkipImportILTargets>
+  </PropertyGroup>
 
   <Import Project="CLRTest.Execute.targets" />
   <Target Name="CreateExecuteScript"