diff --git a/eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml b/eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml
index 4769f35a9c827..127ddbcfeb028 100644
--- a/eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml
+++ b/eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml
@@ -38,39 +38,48 @@ steps:
archType: ${{ parameters.archType }}
buildConfig: ${{ parameters.buildConfig }}
testBuildArgs: ${{ parameters.testBuildArgs }}
-
- # Build a Mono LLVM AOT cross-compiler for non-amd64 targets (in this case, just arm64)
- - ${{ if and(eq(parameters.runtimeFlavor, 'mono'), or(eq(parameters.runtimeVariant, 'llvmaot'), eq(parameters.runtimeVariant, 'llvmfullaot'))) }}:
+ # Build a Mono AOT cross-compiler for non-amd64 targets (in this case, just arm64)
+ - ${{ if and(eq(parameters.runtimeFlavor, 'mono'), in(parameters.runtimeVariant, 'llvmaot', 'llvmfullaot', 'minifullaot')) }}:
- ${{ if eq(parameters.archType, 'arm64') }}:
- - script: ./build.sh
- -subset mono
- -c ${{ parameters.buildConfig }}
- -arch ${{ parameters.archType }}
- /p:BuildMonoAotCrossCompiler=true
- /p:BuildMonoAotCrossCompilerOnly=true
- /p:MonoLibClang="/usr/local/lib/libclang.so.16"
- /p:MonoAOTEnableLLVM=true
- /p:CrossBuild=true
- displayName: "Build Mono LLVM AOT cross compiler"
+ - ${{ if eq(parameters.runtimeVariant, 'minifullaot') }}:
+ - script: ./build.sh
+ -subset mono
+ -c ${{ parameters.buildConfig }}
+ -arch ${{ parameters.archType }}
+ /p:BuildMonoAotCrossCompiler=true
+ /p:BuildMonoAotCrossCompilerOnly=true
+ /p:CrossBuild=true
+ displayName: "Build Mono Mini AOT cross compiler"
+ - ${{ else }}:
+ - script: ./build.sh
+ -subset mono
+ -c ${{ parameters.buildConfig }}
+ -arch ${{ parameters.archType }}
+ /p:BuildMonoAotCrossCompiler=true
+ /p:BuildMonoAotCrossCompilerOnly=true
+ /p:MonoLibClang="/usr/local/lib/libclang.so.16"
+ /p:MonoAOTEnableLLVM=true
+ /p:CrossBuild=true
+ displayName: "Build Mono LLVM AOT cross compiler"
- ${{ if eq(parameters.archType, 'x64') }}:
- ${{ if eq(parameters.runtimeVariant, 'llvmaot') }}:
- - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)MonoAot mono_aot ${{ parameters.buildConfig }} ${{ parameters.archType }}
- displayName: "LLVM AOT compile CoreCLR tests"
+ - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)MonoAot mono_aot ${{ parameters.buildConfig }} ${{ parameters.archType }} /p:RuntimeVariant=${{ parameters.runtimeVariant }}
+ displayName: "AOT compile CoreCLR tests"
target: ${{ coalesce(parameters.llvmAotStepContainer, parameters.container) }}
- - ${{ if eq(parameters.runtimeVariant, 'llvmfullaot') }}:
- - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)MonoAot mono_fullaot ${{ parameters.buildConfig }} ${{ parameters.archType }}
- displayName: "LLVM AOT compile CoreCLR tests"
+ - ${{ if in(parameters.runtimeVariant, 'llvmfullaot', 'minifullaot') }}:
+ - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)MonoAot mono_fullaot ${{ parameters.buildConfig }} ${{ parameters.archType }} /p:RuntimeVariant=${{ parameters.runtimeVariant }}
+ displayName: "AOT compile CoreCLR tests"
target: ${{ coalesce(parameters.llvmAotStepContainer, parameters.container) }}
- ${{ if eq(parameters.archType, 'arm64') }}:
- ${{ if eq(parameters.runtimeVariant, 'llvmaot') }}:
- - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)MonoAot mono_aot ${{ parameters.buildConfig }} ${{ parameters.archType }} cross /p:RuntimeVariant=llvmfullaot -maxcpucount:2
- displayName: "LLVM AOT cross-compile CoreCLR tests"
+ - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)MonoAot mono_aot ${{ parameters.buildConfig }} ${{ parameters.archType }} cross /p:RuntimeVariant=${{ parameters.runtimeVariant }} -maxcpucount:2
+ displayName: "AOT cross-compile CoreCLR tests"
env:
__MonoToolPrefix: aarch64-linux-gnu-
- - ${{ if eq(parameters.runtimeVariant, 'llvmfullaot') }}:
- - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)MonoAot mono_fullaot ${{ parameters.buildConfig }} ${{ parameters.archType }} cross /p:RuntimeVariant=llvmfullaot -maxcpucount:2
- displayName: "LLVM AOT cross-compile CoreCLR tests"
+ - ${{ if in(parameters.runtimeVariant, 'llvmfullaot', 'minifullaot') }}:
+ - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)MonoAot mono_fullaot ${{ parameters.buildConfig }} ${{ parameters.archType }} cross /p:RuntimeVariant=${{ parameters.runtimeVariant }} -maxcpucount:2
+ displayName: "AOT cross-compile CoreCLR tests"
env:
__MonoToolPrefix: aarch64-linux-gnu-
diff --git a/eng/pipelines/extra-platforms/runtime-extra-platforms-other.yml b/eng/pipelines/extra-platforms/runtime-extra-platforms-other.yml
index 97b862d23843a..fee9fcc4050f3 100644
--- a/eng/pipelines/extra-platforms/runtime-extra-platforms-other.yml
+++ b/eng/pipelines/extra-platforms/runtime-extra-platforms-other.yml
@@ -148,6 +148,38 @@ jobs:
extraVariablesTemplates:
- template: /eng/pipelines/common/templates/runtimes/test-variables.yml
+#
+# Mono CoreCLR runtime test executions using live libraries and mini Full AOT
+# Only when Mono is changed
+#
+- template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ buildConfig: Release
+ runtimeFlavor: mono
+ platforms:
+ - linux_x64
+ variables:
+ - name: timeoutPerTestInMinutes
+ value: 60
+ - name: timeoutPerTestCollectionInMinutes
+ value: 180
+ jobParameters:
+ testGroup: innerloop
+ nameSuffix: AllSubsets_Mono_MiniFullAot_RuntimeTests
+ runtimeVariant: minifullaot
+ buildArgs: -s mono+libs+clr.hosts -c Release
+ timeoutInMinutes: 300
+ postBuildSteps:
+ - template: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml
+ parameters:
+ creator: dotnet-bot
+ llvmAotStepContainer: linux_x64
+ testRunNamePrefixSuffix: Mono_Release
+ extraVariablesTemplates:
+ - template: /eng/pipelines/common/templates/runtimes/test-variables.yml
+
#
# Mono CoreCLR runtime Test executions using live libraries in interpreter mode
# Only when Mono is changed
diff --git a/src/mono/mono/metadata/marshal.c b/src/mono/mono/metadata/marshal.c
index e9cebef7a8182..3169236251ae9 100644
--- a/src/mono/mono/metadata/marshal.c
+++ b/src/mono/mono/metadata/marshal.c
@@ -5834,8 +5834,19 @@ mono_marshal_load_type_info (MonoClass* klass)
if (m_class_is_inlinearray (klass)) {
// Limit the max size of array instance to 1MiB
const int struct_max_size = 1024 * 1024;
+ guint32 initial_size = size;
size *= m_class_inlinearray_value (klass);
- g_assert ((size > 0) && (size <= struct_max_size));
+ if(size == 0 || size > struct_max_size) {
+ if (mono_get_runtime_callbacks ()->mono_class_set_deferred_type_load_failure_callback) {
+ if (mono_get_runtime_callbacks ()->mono_class_set_deferred_type_load_failure_callback (klass, "Inline array struct size out of bounds, abnormally large."))
+ break;
+ else
+ size = initial_size; // failure occured during AOT compilation, continue execution
+ } else {
+ mono_class_set_type_load_failure (klass, "Inline array struct size out of bounds, abnormally large.");
+ break;
+ }
+ }
}
switch (layout) {
diff --git a/src/mono/mono/mini/aot-compiler.c b/src/mono/mono/mini/aot-compiler.c
index c4e318b4f5688..bda04415e2d68 100644
--- a/src/mono/mono/mini/aot-compiler.c
+++ b/src/mono/mono/mini/aot-compiler.c
@@ -242,8 +242,11 @@ typedef struct MonoAotOptions {
gboolean child;
char *tool_prefix;
char *as_prefix;
+ char *as_name;
+ char *as_options;
char *ld_flags;
char *ld_name;
+ char *ld_options;
char *mtriple;
char *llvm_path;
char *temp_path;
@@ -8940,10 +8943,16 @@ mono_aot_parse_options (const char *aot_options, MonoAotOptions *opts)
opts->tool_prefix = g_strdup (arg + strlen ("tool-prefix="));
} else if (str_begins_with (arg, "as-prefix=")) {
opts->as_prefix = g_strdup (arg + strlen ("as-prefix="));
+ } else if (str_begins_with (arg, "as-name=")) {
+ opts->as_name = g_strdup (arg + strlen ("as-name="));
+ } else if (str_begins_with (arg, "as-options=")) {
+ opts->as_options = g_strdup (arg + strlen ("as-options="));
} else if (str_begins_with (arg, "ld-flags=")) {
opts->ld_flags = g_strdup (arg + strlen ("ld-flags="));
} else if (str_begins_with (arg, "ld-name=")) {
opts->ld_name = g_strdup (arg + strlen ("ld-name="));
+ } else if (str_begins_with (arg, "ld-options=")) {
+ opts->ld_options = g_strdup (arg + strlen ("ld-options="));
} else if (str_begins_with (arg, "soft-debug")) {
opts->soft_debug = TRUE;
// Intentionally undocumented x2-- deprecated
@@ -13222,8 +13231,16 @@ compile_asm (MonoAotCompile *acfg)
#ifdef TARGET_OSX
g_string_append (acfg->as_args, "-c -x assembler ");
#endif
+ const char *as_binary_name = acfg->aot_opts.as_name;
+ if (as_binary_name == NULL) {
+ as_binary_name = AS_NAME;
+ }
+ const char *as_options = acfg->aot_opts.as_options;
+ if (as_options == NULL) {
+ as_options = AS_OPTIONS;
+ }
- command = g_strdup_printf ("\"%s%s\" %s %s -o %s %s", as_prefix, AS_NAME, AS_OPTIONS,
+ command = g_strdup_printf ("\"%s%s\" %s %s -o %s %s", as_prefix, as_binary_name, as_options,
acfg->as_args ? acfg->as_args->str : "",
wrap_path (objfile), wrap_path (acfg->asm_fname));
aot_printf (acfg, "Executing the native assembler: %s\n", command);
@@ -13234,7 +13251,7 @@ compile_asm (MonoAotCompile *acfg)
}
if (acfg->llvm && !acfg->llvm_owriter) {
- command = g_strdup_printf ("\"%s%s\" %s %s -o %s %s", as_prefix, AS_NAME, AS_OPTIONS,
+ command = g_strdup_printf ("\"%s%s\" %s %s -o %s %s", as_prefix, as_binary_name, as_options,
acfg->as_args ? acfg->as_args->str : "",
wrap_path (acfg->llvm_ofile), wrap_path (acfg->llvm_sfile));
aot_printf (acfg, "Executing the native assembler: %s\n", command);
@@ -13283,16 +13300,21 @@ compile_asm (MonoAotCompile *acfg)
str = g_string_new ("");
const char *ld_binary_name = acfg->aot_opts.ld_name;
+
+ const char *ld_options = acfg->aot_opts.ld_options;
+ if (ld_options == NULL) {
+ ld_options = LD_OPTIONS;
+ }
#if defined(LD_NAME)
if (ld_binary_name == NULL) {
ld_binary_name = LD_NAME;
}
if (acfg->aot_opts.tool_prefix)
- g_string_append_printf (str, "\"%s%s\" %s", tool_prefix, ld_binary_name, LD_OPTIONS);
+ g_string_append_printf (str, "\"%s%s\" %s", tool_prefix, ld_binary_name, ld_options);
else if (acfg->aot_opts.llvm_only)
g_string_append_printf (str, "%s", acfg->aot_opts.clangxx);
else
- g_string_append_printf (str, "\"%s%s\" %s", tool_prefix, ld_binary_name, LD_OPTIONS);
+ g_string_append_printf (str, "\"%s%s\" %s", tool_prefix, ld_binary_name, ld_options);
#else
if (ld_binary_name == NULL) {
ld_binary_name = "ld";
@@ -13301,7 +13323,7 @@ compile_asm (MonoAotCompile *acfg)
// Default (linux)
if (acfg->aot_opts.tool_prefix)
/* Cross compiling */
- g_string_append_printf (str, "\"%s%s\" %s", tool_prefix, ld_binary_name, LD_OPTIONS);
+ g_string_append_printf (str, "\"%s%s\" %s", tool_prefix, ld_binary_name, ld_options);
else if (acfg->aot_opts.llvm_only)
g_string_append_printf (str, "%s", acfg->aot_opts.clangxx);
else
@@ -14232,8 +14254,11 @@ aot_opts_free (MonoAotOptions *aot_opts)
g_free (aot_opts->dedup_include);
g_free (aot_opts->tool_prefix);
g_free (aot_opts->as_prefix);
+ g_free (aot_opts->as_name);
+ g_free (aot_opts->as_options);
g_free (aot_opts->ld_flags);
g_free (aot_opts->ld_name);
+ g_free (aot_opts->ld_options);
g_free (aot_opts->mtriple);
g_free (aot_opts->llvm_path);
g_free (aot_opts->temp_path);
diff --git a/src/tests/Common/CoreCLRTestLibrary/PlatformDetection.cs b/src/tests/Common/CoreCLRTestLibrary/PlatformDetection.cs
index 56581dc9ea772..d03327e5fdded 100644
--- a/src/tests/Common/CoreCLRTestLibrary/PlatformDetection.cs
+++ b/src/tests/Common/CoreCLRTestLibrary/PlatformDetection.cs
@@ -50,6 +50,8 @@ public static bool IsNonZeroLowerBoundArraySupported
public static bool IsMonoLLVMAOT => _variant == "llvmaot";
public static bool IsMonoLLVMFULLAOT => _variant == "llvmfullaot";
+ public static bool IsMonoMINIFULLAOT => _variant == "minifullaot";
+ public static bool IsMonoFULLAOT => IsMonoLLVMFULLAOT || IsMonoMINIFULLAOT;
public static bool IsMonoInterpreter => _variant == "monointerpreter";
// These platforms have not had their infrastructure updated to support native test assets.
diff --git a/src/tests/Common/helixpublishwitharcade.proj b/src/tests/Common/helixpublishwitharcade.proj
index 557e5e55beea9..b5d5153343897 100644
--- a/src/tests/Common/helixpublishwitharcade.proj
+++ b/src/tests/Common/helixpublishwitharcade.proj
@@ -413,8 +413,8 @@
-
-
+
+
- <_TestEnvFileLine Condition="'$(RuntimeVariant)' == 'llvmfullaot'" Include="export MONO_ENV_OPTIONS=--full-aot" />
+ <_TestEnvFileLine Condition="'$(RuntimeVariant)' == 'llvmfullaot' or '$(RuntimeVariant)' == 'minifullaot'" Include="export MONO_ENV_OPTIONS=--full-aot" />
<_TestEnvFileLine Condition="'$(RuntimeVariant)' != ''" Include="export DOTNET_RUNTIME_VARIANT=$(RuntimeVariant)" />
diff --git a/src/tests/Interop/DllImportSearchPaths/DllImportSearchPathsTest.cs b/src/tests/Interop/DllImportSearchPaths/DllImportSearchPathsTest.cs
index b86a77cbc521e..00c7b375a7ed7 100644
--- a/src/tests/Interop/DllImportSearchPaths/DllImportSearchPathsTest.cs
+++ b/src/tests/Interop/DllImportSearchPaths/DllImportSearchPathsTest.cs
@@ -21,7 +21,7 @@ public static void AssemblyDirectory_NotFound()
public static bool CanLoadAssemblyInSubdirectory =>
!TestLibrary.Utilities.IsNativeAot &&
- !TestLibrary.PlatformDetection.IsMonoLLVMFULLAOT &&
+ !TestLibrary.PlatformDetection.IsMonoFULLAOT &&
!OperatingSystem.IsAndroid() &&
!OperatingSystem.IsIOS() &&
!OperatingSystem.IsTvOS() &&
diff --git a/src/tests/Interop/Interop.csproj b/src/tests/Interop/Interop.csproj
index 6fc22f7bf4f27..ccbdc2f5e1e7f 100644
--- a/src/tests/Interop/Interop.csproj
+++ b/src/tests/Interop/Interop.csproj
@@ -2,6 +2,8 @@
true
Debug;Release;Checked
+
+ true
diff --git a/src/tests/Interop/NativeLibrary/API/NativeLibraryTests.cs b/src/tests/Interop/NativeLibrary/API/NativeLibraryTests.cs
index 2c43feaa3be97..09a3d6c41b900 100644
--- a/src/tests/Interop/NativeLibrary/API/NativeLibraryTests.cs
+++ b/src/tests/Interop/NativeLibrary/API/NativeLibraryTests.cs
@@ -182,7 +182,7 @@ public void LoadLibrary_AssemblyDirectory()
string subdirectory = Path.Combine(testBinDir, "subdirectory");
- if (!TestLibrary.Utilities.IsNativeAot && !TestLibrary.PlatformDetection.IsMonoLLVMFULLAOT)
+ if (!TestLibrary.Utilities.IsNativeAot && !TestLibrary.PlatformDetection.IsMonoFULLAOT)
{
// Library should be found in the assembly directory
Assembly assemblyInSubdirectory = Assembly.LoadFile(Path.Combine(subdirectory, $"{assembly.GetName().Name}{suffix}.dll"));
diff --git a/src/tests/Interop/StringMarshalling/AnsiBSTR/AnsiBStrTest.csproj b/src/tests/Interop/StringMarshalling/AnsiBSTR/AnsiBStrTest.csproj
index f476d5f41f21f..ae4b7c519db82 100644
--- a/src/tests/Interop/StringMarshalling/AnsiBSTR/AnsiBStrTest.csproj
+++ b/src/tests/Interop/StringMarshalling/AnsiBSTR/AnsiBStrTest.csproj
@@ -2,6 +2,8 @@
true
$(DefineConstants);ANSIBSTR
+
+ true
diff --git a/src/tests/Interop/StringMarshalling/BSTR/BSTRTest.csproj b/src/tests/Interop/StringMarshalling/BSTR/BSTRTest.csproj
index 7aab41716ae90..539f34ced8c87 100644
--- a/src/tests/Interop/StringMarshalling/BSTR/BSTRTest.csproj
+++ b/src/tests/Interop/StringMarshalling/BSTR/BSTRTest.csproj
@@ -2,6 +2,8 @@
true
$(DefineConstants);BSTR
+
+ true
diff --git a/src/tests/Interop/StringMarshalling/LPTSTR/LPTSTRTest.csproj b/src/tests/Interop/StringMarshalling/LPTSTR/LPTSTRTest.csproj
index 52006bf63c1d1..e436167e972f0 100644
--- a/src/tests/Interop/StringMarshalling/LPTSTR/LPTSTRTest.csproj
+++ b/src/tests/Interop/StringMarshalling/LPTSTR/LPTSTRTest.csproj
@@ -2,6 +2,8 @@
true
$(DefineConstants);LPTSTR
+
+ true
diff --git a/src/tests/Interop/StringMarshalling/VBByRefStr/VBByRefStrTest.csproj b/src/tests/Interop/StringMarshalling/VBByRefStr/VBByRefStrTest.csproj
index 621a9f162f3bf..9154f936b7425 100644
--- a/src/tests/Interop/StringMarshalling/VBByRefStr/VBByRefStrTest.csproj
+++ b/src/tests/Interop/StringMarshalling/VBByRefStr/VBByRefStrTest.csproj
@@ -1,6 +1,8 @@
true
+
+ true
diff --git a/src/tests/JIT/HardwareIntrinsics/X86/X86Base.X64/Program.X86Base.X64.cs b/src/tests/JIT/HardwareIntrinsics/X86/X86Base.X64/Program.X86Base.X64.cs
index 40dc13b975f47..98901cf3dfe89 100644
--- a/src/tests/JIT/HardwareIntrinsics/X86/X86Base.X64/Program.X86Base.X64.cs
+++ b/src/tests/JIT/HardwareIntrinsics/X86/X86Base.X64/Program.X86Base.X64.cs
@@ -4,7 +4,7 @@
using System.Collections.Generic;
[assembly:Xunit.ActiveIssue("https://github.com/dotnet/runtime/issues/75767", typeof(TestLibrary.PlatformDetection), nameof(TestLibrary.PlatformDetection.IsMonoLLVMAOT))]
-[assembly:Xunit.ActiveIssue("https://github.com/dotnet/runtime/issues/75767", typeof(TestLibrary.PlatformDetection), nameof(TestLibrary.PlatformDetection.IsMonoLLVMFULLAOT))]
+[assembly:Xunit.ActiveIssue("https://github.com/dotnet/runtime/issues/75767", typeof(TestLibrary.PlatformDetection), nameof(TestLibrary.PlatformDetection.IsMonoFULLAOT))]
namespace JIT.HardwareIntrinsics.X86._X86Base.X64
{
public static partial class Program
diff --git a/src/tests/JIT/HardwareIntrinsics/X86/X86Base/Program.X86Base.cs b/src/tests/JIT/HardwareIntrinsics/X86/X86Base/Program.X86Base.cs
index 364a8aee4b047..b0001aeeb3e96 100644
--- a/src/tests/JIT/HardwareIntrinsics/X86/X86Base/Program.X86Base.cs
+++ b/src/tests/JIT/HardwareIntrinsics/X86/X86Base/Program.X86Base.cs
@@ -4,7 +4,7 @@
using System.Collections.Generic;
[assembly:Xunit.ActiveIssue("https://github.com/dotnet/runtime/issues/75767", typeof(TestLibrary.PlatformDetection), nameof(TestLibrary.PlatformDetection.IsMonoLLVMAOT))]
-[assembly:Xunit.ActiveIssue("https://github.com/dotnet/runtime/issues/75767", typeof(TestLibrary.PlatformDetection), nameof(TestLibrary.PlatformDetection.IsMonoLLVMFULLAOT))]
+[assembly:Xunit.ActiveIssue("https://github.com/dotnet/runtime/issues/75767", typeof(TestLibrary.PlatformDetection), nameof(TestLibrary.PlatformDetection.IsMonoFULLAOT))]
namespace JIT.HardwareIntrinsics.X86._X86Base
{
public static partial class Program
diff --git a/src/tests/JIT/Methodical/Boxing/boxunbox/BoxPatternMatchAndSideEffects.csproj b/src/tests/JIT/Methodical/Boxing/boxunbox/BoxPatternMatchAndSideEffects.csproj
index 17ce8036e6a82..e1e12460ae03b 100644
--- a/src/tests/JIT/Methodical/Boxing/boxunbox/BoxPatternMatchAndSideEffects.csproj
+++ b/src/tests/JIT/Methodical/Boxing/boxunbox/BoxPatternMatchAndSideEffects.csproj
@@ -1,6 +1,8 @@
PdbOnly
+
+ true
diff --git a/src/tests/JIT/Methodical/Methodical_others.csproj b/src/tests/JIT/Methodical/Methodical_others.csproj
index 4021ca8992282..998101aaa4553 100644
--- a/src/tests/JIT/Methodical/Methodical_others.csproj
+++ b/src/tests/JIT/Methodical/Methodical_others.csproj
@@ -1,4 +1,8 @@
+
+
+ true
+
diff --git a/src/tests/JIT/Regression/JitBlue/GitHub_26491/GitHub_26491.ilproj b/src/tests/JIT/Regression/JitBlue/GitHub_26491/GitHub_26491.ilproj
index 5ddfd280bde66..439e29a31673e 100644
--- a/src/tests/JIT/Regression/JitBlue/GitHub_26491/GitHub_26491.ilproj
+++ b/src/tests/JIT/Regression/JitBlue/GitHub_26491/GitHub_26491.ilproj
@@ -1,4 +1,8 @@
+
+
+ true
+
diff --git a/src/tests/JIT/Regression/Regression_3.csproj b/src/tests/JIT/Regression/Regression_3.csproj
index 4eafe2b2450fb..0006ba5709b72 100644
--- a/src/tests/JIT/Regression/Regression_3.csproj
+++ b/src/tests/JIT/Regression/Regression_3.csproj
@@ -1,4 +1,8 @@
+
+
+ true
+
diff --git a/src/tests/build.proj b/src/tests/build.proj
index d41ed76b98276..e7886f37d7703 100644
--- a/src/tests/build.proj
+++ b/src/tests/build.proj
@@ -144,15 +144,22 @@
-
+
-
-
+
+
+
+
+
+
+
+
+
diff --git a/src/tests/issues.targets b/src/tests/issues.targets
index 1f5e2690dc4d1..b502147a17a0f 100644
--- a/src/tests/issues.targets
+++ b/src/tests/issues.targets
@@ -2276,7 +2276,7 @@
-
+
expected failure: overlapped structs fail at AOT compile time, not runtime
@@ -2439,7 +2439,7 @@
-
+
https://github.com/dotnet/runtime/issues/48914
@@ -2511,9 +2511,6 @@
-
-
-
https://github.com/dotnet/runtime/issues/82859
@@ -3733,6 +3730,83 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
diff --git a/src/tests/readytorun/readytorun.csproj b/src/tests/readytorun/readytorun.csproj
index d815ac504e637..585b0be3fcdfe 100644
--- a/src/tests/readytorun/readytorun.csproj
+++ b/src/tests/readytorun/readytorun.csproj
@@ -1,4 +1,8 @@
+
+
+ true
+