-
-
Notifications
You must be signed in to change notification settings - Fork 8.3k
Closed
Labels
Description
Port, board and/or hardware
Any RISC-V 32 architecture
MicroPython version
Current master version (commit 6007f3e)
Reproduction
Using an ESP32C3 board, run the test suite using the following:
$ cd tests
$ ./run-tests.py --target esp32 --device /dev/ttyUSB0 --via-mpy --emit native --mpy-cross-flags="-march=rv32imc" -d basics
The output is:
518 tests performed (16146 individual testcases)
488 tests passed
18 tests skipped: annotate_var builtin_next_arg2 builtin_range_binop del_deref del_local exception_chain gen_yield_from_close memoryview_itemsize namedtuple_asdict nanbox_smallint scope_implicit subclass_native_call sys_path sys_tracebacklimit try_finally_return2 try_reraise try_reraise2 unboundlocal
30 tests failed: array1 array_construct array_construct_endian array_intbig builtin_property class_ordereddict class_super dict1 dict_fixed errno1 frozenset_binop fun_calldblstar3 gc1 ifcond int1 logic_constfolding memoryview_intbig namedtuple1 set_binop stopiteration string_format_modulo string_format_modulo_int struct1 struct1_intbig struct2 struct_micropython sys_getsizeof true_value try_finally_return unpack1
The test failures are due to mpy-cross
crashing:
mpy-cross: ../py/asmbase.c:94: mp_asm_base_label_assign: Assertion `as->label_offsets[label] == as->code_offset' failed.
Alternatively, a much simpler way to see the problem:
$ ./mpy-cross/build/mpy-cross -march=rv32imc -X emit=native tests/basics/array1.py
mpy-cross: ../py/asmbase.c:94: mp_asm_base_label_assign: Assertion `as->label_offsets[label] == as->code_offset' failed.
Expected behaviour
mpy-cross
should be able to compile all the tests with the rv32imc emitter selected.
Observed behaviour
mpy-cross
crashes with an assertion failure.
Additional Information
No response
Code of Conduct
Yes, I agree