diff --git a/src/mono/mono/metadata/metadata.c b/src/mono/mono/metadata/metadata.c index 690df1e8157398..536b8e98ddfde7 100644 --- a/src/mono/mono/metadata/metadata.c +++ b/src/mono/mono/metadata/metadata.c @@ -6085,7 +6085,7 @@ mono_metadata_type_dup_with_cmods (MonoImage *image, const MonoType *o, const Mo if (cmods_source->has_cmods) { /* FIXME: if it's aggregate what do we assert here? */ - g_assert (!image || (!aggregate && image == mono_type_get_cmods (cmods_source)->image)); + g_assert (!image || (o == cmods_source) || (!aggregate && image == mono_type_get_cmods (cmods_source)->image)); memcpy (r, cmods_source, mono_sizeof_type (cmods_source)); } diff --git a/src/mono/mono/mini/aot-compiler.c b/src/mono/mono/mini/aot-compiler.c index 107507498be330..1e6a01f2ff8c2f 100644 --- a/src/mono/mono/mini/aot-compiler.c +++ b/src/mono/mono/mini/aot-compiler.c @@ -14360,8 +14360,9 @@ mono_compile_assembly (MonoAssembly *ass, guint32 opts, const char *aot_options, if (acfg->aot_opts.llvm_only) { if (!mono_aot_mode_is_interp (&acfg->aot_opts)) acfg->jit_opts |= MONO_OPT_GSHAREDVT; - } else if (mono_aot_mode_is_full (&acfg->aot_opts) || mono_aot_mode_is_hybrid (&acfg->aot_opts)) + } else if ((mono_aot_mode_is_full (&acfg->aot_opts) && !acfg->aot_opts.interp) || mono_aot_mode_is_hybrid (&acfg->aot_opts)) { acfg->jit_opts |= MONO_OPT_GSHAREDVT; + } #endif #if !defined(ENABLE_LLVM) diff --git a/src/tests/Common/testenvironment.proj b/src/tests/Common/testenvironment.proj index 85fa1cd07e4f77..0ce839577b4a2d 100644 --- a/src/tests/Common/testenvironment.proj +++ b/src/tests/Common/testenvironment.proj @@ -297,7 +297,8 @@ <_TestEnvFileLine Condition="'$(RuntimeVariant)' == 'llvmaot'" Include="export MONO_ENV_OPTIONS=--llvm" /> - <_TestEnvFileLine Condition="'$(RuntimeVariant)' == 'llvmfullaot'" Include="export MONO_ENV_OPTIONS=--full-aot" /> + + <_TestEnvFileLine Condition="'$(RuntimeVariant)' == 'llvmfullaot'" Include="export MONO_ENV_OPTIONS=--full-aot-interp" /> <_TestEnvFileLine Condition="'$(Scenario)' == 'clrinterpreter'" Include="export COMPlus_Interpret=%2A" /> diff --git a/src/tests/build.proj b/src/tests/build.proj index 37236bad27175f..1877f07248b0de 100644 --- a/src/tests/build.proj +++ b/src/tests/build.proj @@ -128,6 +128,8 @@ + +