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

[mono][wasm] Fix function signature mismatch in m2n invoke #101106

Merged
merged 20 commits into from
Apr 23, 2024
Merged
Changes from 1 commit
Commits
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
Prev Previous commit
Next Next commit
Remove not used pointer
  • Loading branch information
mkhamoyan committed Apr 22, 2024
commit 186a15f7ea1ccb1bb6008ce5cb7c35e64789181d
8 changes: 4 additions & 4 deletions src/mono/mono/mini/aot-compiler.c
Original file line number Diff line number Diff line change
Expand Up @@ -12417,8 +12417,9 @@ emit_file_info (MonoAotCompile *acfg)
sprintf (symbol, "%smono_aot_module_%s_info", acfg->user_symbol_prefix, acfg->image->assembly->aname.name);

/* Get rid of characters which cannot occur in symbols */
Copy link
Member

Choose a reason for hiding this comment

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

I wonder why this needs to be wasm-specific, shouldn't we do the same logic everywhere?

Copy link
Member Author

Choose a reason for hiding this comment

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

It broke iOS/tvOS tests that's why I applied the logic only for wasm

Copy link
Member

Choose a reason for hiding this comment

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

hmm that sounds concerning, I don't see why it should break iOS/tvOS

Copy link
Member Author

Choose a reason for hiding this comment

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

This is what error looked like (from https://dev.azure.com/dnceng-public/public/_build/results?buildId=652242&view=logs&j=88e1dda0-08c6-5d85-6ee4-8e42aeff31b6&t=b4bb5080-7a46-5114-c100-ade75b904ada)
ios_error

My guess is that for iOS/tvOS in other places it still expects the previous logic. And I'm not sure that for other platforms there is a need to apply the change.

Copy link
Member

Choose a reason for hiding this comment

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

then we need to find these places, the logic should be consistent

symbol = sanitize_symbol (acfg, symbol);
acfg->static_linking_symbol = g_strdup (symbol);
p = symbol;
p = sanitize_symbol (acfg, p);
acfg->static_linking_symbol = g_strdup (p);
}

if (acfg->llvm)
Expand Down Expand Up @@ -14856,7 +14857,6 @@ aot_assembly (MonoAssembly *ass, guint32 jit_opts, MonoAotOptions *aot_options)
{
MonoImage *image = ass->image;
MonoAotCompile *acfg;
char *p;
int res;
TV_DECLARE (atv);
TV_DECLARE (btv);
Expand Down Expand Up @@ -15117,7 +15117,7 @@ aot_assembly (MonoAssembly *ass, guint32 jit_opts, MonoAotOptions *aot_options)

acfg->assembly_name_sym = g_strdup (get_assembly_prefix (acfg->image));
/* Get rid of characters which cannot occur in symbols */
acfg->assembly_name_sym = sanitize_symbol(acfg, acfg->assembly_name_sym);
acfg->assembly_name_sym = sanitize_symbol (acfg, acfg->assembly_name_sym);

acfg->global_prefix = g_strdup_printf ("mono_aot_%s", acfg->assembly_name_sym);
acfg->plt_symbol = g_strdup_printf ("%s_plt", acfg->global_prefix);
Expand Down
Loading