Skip to content

Conversation

@kr-t
Copy link
Contributor

@kr-t kr-t commented Nov 21, 2025

Target hardware: https://www.st.com/en/evaluation-tools/b-u585i-iot02a.html
(cortex-m33, thumbv8m.main, eabihf)
When running it in Zephyr with AoT enabled, without my changes, it raises following error:
AOT module load failed: resolve symbol __aeabi_memmove failed

After adding these functions, runtime can pass this check and normally load the application.

Signed-off-by: Krisztian Szilvasi <[email protected]>
@no1wudi
Copy link
Collaborator

no1wudi commented Nov 25, 2025

@kr-t could you share the full aot compilation flags?

@kr-t
Copy link
Contributor Author

kr-t commented Nov 26, 2025

I have following in my app:
*((volatile uint32_t *)(uintptr_t)(0xFFFFD000UL + 0x1C00UL + 0x18UL)) = (uint32_t)(1u << 1);

Build commands:

  • clang: /opt/wasi-sdk/share/cmake/../..//bin/clang --target=wasm32-wasi -Wl,--strip-all -Wl,--allow-undefined "CMakeFiles/hello-world.wasm.dir/main.c.obj" -o hello-world.wasm
  • wamrc: wamrc --cpu=cortex-m33 --target=thumbv8m.main --target-abi=eabihf --enable-shared-heap -o hello-world.aot hello-world.wasm

Without this PR:
AOT module load failed: resolve symbol __aeabi_memmove failed

With this PR:
My application starts

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants