Fix missing symbols when using aot mode on riscv platforms. (#3731)#3812
Conversation
0ab8cf7 to
ff90f27
Compare
|
Could you please describe the specific use case? In my view, if the purpose is to detect whether atomic or multiplication/division instructions are supported, one can use the built-in macros in GCC to identify this without the need for additional configurations. |
|
Yes, you have a point. The current processing really isn't necessary. Is this a good way to handle it? |
Yes, I think something like |
| void __unorddf2(void); | ||
| void __unordsf2(void); | ||
| void __atomic_compare_exchange_4(void); | ||
| void __atomic_store_4(void); |
There was a problem hiding this comment.
The build_iwasm_on_nuttx CI reported errors:

https://github.com/bytecodealliance/wasm-micro-runtime/actions/runs/11052682397/job/30739828374
How about changing to below lines to have a try:
bool __atomic_compare_exchange_4(volatile void *, void *, unsigned int,
bool, int, int);
void __atomic_store_4(volatile void *, unsigned int, int);
Fix missing symbols when using AOT mode on RISCV platforms.
If the target platform does not support the “Atomic Instructions” or “Integer Multiplication and Division” features, or does not turn on support for these CPU features when using wamrc to compile the aot file.
Just add these two macros when compiling iwasm: