Skip to content

Commit

Permalink
aot debug: Process lldb_function_to_function_dbi only for C (bytecode…
Browse files Browse the repository at this point in the history
  • Loading branch information
yamt committed Apr 3, 2024
1 parent 71ead57 commit f86da3a
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions core/iwasm/compilation/debug/dwarf_extractor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -295,6 +295,28 @@ lldb_function_to_function_dbi(const AOTCompContext *comp_ctx,
const size_t num_function_args = function_args.GetSize();
dwarf_extractor *extractor;

/*
* Process only known languages.
* We have a few assumptions which might not be true for non-C functions.
*
* At least it's known broken for C++ and Rust:
* https://github.com/bytecodealliance/wasm-micro-runtime/issues/3187
* https://github.com/bytecodealliance/wasm-micro-runtime/issues/3163
*/
LanguageType language_type = function.GetLanguage();
switch (language_type) {
case eLanguageTypeC89:
case eLanguageTypeC:
case eLanguageTypeC99:
case eLanguageTypeC11:
case eLanguageTypeC17:
break;
default:
LOG_WARNING("func %s has unsuppoted language_type 0x%x",
function_name, (int)language_type);
return NULL;
}

if (!(extractor = TO_EXTACTOR(comp_ctx->comp_data->extractor)))
return NULL;

Expand Down

0 comments on commit f86da3a

Please sign in to comment.