iree: iree/hal/local/elf/elf_module_test failed to dispatch the simple_mul function correctly in RV32 config
Run https://github.com/google/iree/blob/main/iree/hal/local/elf/elf_module_test.cc resulting into a segfault in qemu-riscv32. The same code works fine in x86_64 and RV64 Linux configs
$ {QEMU_BIN} -cpu rv64 -L ${TOOLCHAIN_PATH}/sysroot/ iree-build-riscv/iree/hal/local/elf/elf_module_test
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from ELFModuleTest
[ RUN ] ELFModuleTest.Check
[ OK ] ELFModuleTest.Check (3 ms)
[----------] 1 test from ELFModuleTest (3 ms total)
[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (7 ms total)
[ PASSED ] 1 test.
$ {QEMU32_BIN} -cpu rv32 -L /tmp/toolchain_iree_rv32/sysroot/ iree-build-riscv_rv32_linux/iree/hal/local/elf/elf_module_test
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from ELFModuleTest
[ RUN ] ELFModuleTest.Check
Segmentation fault
Broken at https://github.com/google/iree/blob/9b946d7ffaf08f7f6130e6aacb3692e53456eb45/iree
Steps to reproduce patch https://github.com/hcindyl/iree/commit/6fa9e8b9a65b34388d68183d3e360ef44c7625b6 and build the test
Additional context
- build the runtime with the RV32 baremetal results in the same segfault
- build and run the
abs()
iree bytecode module towards the vmvx target with the same RV32 Linux toolchain works fine
I will try to run the system emulator with the baremetal config later to see if I can gather more information than the segfault.
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 23 (15 by maintainers)
Rebuild the host compiler and the same mismatch error persists. I am going to dump the library structure to see what’s there.