Skip to content

Issue loading AOT on iwasm built for x86 windows #3216

Open
@iKlask

Description

@iKlask

I've been having issues getting AOT code to run on a WAMR runtime built for Win32. I'm not sure if there's something I'm missing or if there is an actual issue with windows 32 bit iwasm/wamrc.

When I take an example .wasm binary and compile it with wamrc and run on my win32-built iwasm, I get this error:

AOT module load failed: resolve symbol _aot_stack_sizes failed

I compiled my wasm file for i386, since compiling for x86_64 throws an error in my 32-bit iwasm:

AOT module load failed: invalid target bit width, expected 32-bit but got 64-bit

I noticed _aot_stack_sizes does not exist on the x86_64 compilation, which works fine in iwasm built for x64 windows. The symbol aot_func_internal also seems to exist on the 32 bit compilation where it does not on my x64.

If I compile my wasm code with --bounds-checks=0 (default in x64) then everything seems to work, but bounds checks is enabled by default for x86 so why does this not work with this default setting on?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions