stnolting / neorv32-riscof

✔️Port of RISCOF to check the NEORV32 for RISC-V ISA compatibility.
https://github.com/stnolting/neorv32
BSD 3-Clause "New" or "Revised" License
25 stars 6 forks source link

Toolchain: unsupported ISA extension #295

Closed julienissuts closed 2 months ago

julienissuts commented 2 months ago

Hello, I downloaded your prebuilt toolchain gcc 13.2.0 and tried to run the run.sh. But I get following error:


...
   DEBUG | Running Test: /home/JStuessi/Documents/riscof_workspace/neorv32-riscof/neorv32-riscof/riscv-arch-test/riscv-test-suite/rv32i_m/B/src/andn-01.S on DUT
   DEBUG | Compiling test: /home/JStuessi/Documents/riscof_workspace/neorv32-riscof/neorv32-riscof/riscv-arch-test/riscv-test-suite/rv32i_m/B/src/andn-01.S
   DEBUG | /home/JStuessi/Documents/riscof_workspace/neorv32-riscof/neorv32-riscof/riscof_work/rv32i_m/B/src/andn-01.S/dut
   DEBUG | riscv32-unknown-elf-gcc -march=rv32izbb          -static -mcmodel=medany -fvisibility=hidden -nostdlib -nostartfiles -g         -T /home/JStuessi/Documents/riscof_workspace/neorv32-riscof/neorv32-riscof/plugin-neorv32/env/link.ld         -I /home/JStuessi/Documents/riscof_workspace/neorv32-riscof/neorv32-riscof/plugin-neorv32/env/         -I /home/JStuessi/Documents/riscof_workspace/neorv32-riscof/neorv32-riscof/riscv-arch-test/riscv-test-suite/env /home/JStuessi/Documents/riscof_workspace/neorv32-riscof/neorv32-riscof/riscv-arch-test/riscv-test-suite/rv32i_m/B/src/andn-01.S -o main.elf  -DTEST_CASE_1=True -DXLEN=32 -mabi=ilp32  "-DSET_REL_TVAL_MSK=(((1<<CAUSE_MISALIGNED_FETCH) | (1<<CAUSE_FETCH_ACCESS)     | (1<<CAUSE_MISALIGNED_LOAD)  | (1<<CAUSE_LOAD_ACCESS)      | (1<<CAUSE_MISALIGNED_STORE) | (1<<CAUSE_STORE_ACCESS)     | (1<<CAUSE_FETCH_PAGE_FAULT) | (1<<CAUSE_LOAD_PAGE_FAULT)  | (1<<CAUSE_STORE_PAGE_FAULT)   ) & 0xFFFFFFFF)" 
   ERROR | cc1: error: -march=rv32izbb: unsupported ISA substring 'ZBB'
   DEBUG | DUT executing cp -f /home/JStuessi/Documents/riscof_workspace/neorv32-riscof/neorv32-riscof/riscof_work/rv32i_m/B/src/andn-01.S/dut/main.elf ./sim/main.elf
   DEBUG | /home/JStuessi/Documents/riscof_workspace/neorv32-riscof/neorv32-riscof
   DEBUG | cp -f /home/JStuessi/Documents/riscof_workspace/neorv32-riscof/neorv32-riscof/riscof_work/rv32i_m/B/src/andn-01.S/dut/main.elf ./sim/main.elf
   ERROR | cp: cannot stat '/home/JStuessi/Documents/riscof_workspace/neorv32-riscof/neorv32-riscof/riscof_work/rv32i_m/B/src/andn-01.S/dut/main.elf': No such file or directory
   DEBUG | DUT executing make -C ./sim clean main.hex
   DEBUG | /home/JStuessi/Documents/riscof_workspace/neorv32-riscof/neorv32-riscof
   DEBUG | make -C ./sim clean main.hex
   ERROR | make: Entering directory '/home/JStuessi/Documents/riscof_workspace/neorv32-riscof/neorv32-riscof/sim'
make: Leaving directory '/home/JStuessi/Documents/riscof_workspace/neorv32-riscof/neorv32-riscof/sim'
   ERROR | make: *** No rule to make target '/home/JStuessi/Documents/riscof_workspace/neorv32-riscof/neorv32-riscof/sim/main.elf', needed by 'main.bin'.  Stop.
Traceback (most recent call last):
  File "/home/JStuessi/.pyenv/versions/3.12.3/bin/riscof", line 8, in <module>
    sys.exit(cli())
             ^^^^^
  File "/home/JStuessi/.pyenv/versions/3.12.3/lib/python3.12/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/JStuessi/.pyenv/versions/3.12.3/lib/python3.12/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/home/JStuessi/.pyenv/versions/3.12.3/lib/python3.12/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/JStuessi/.pyenv/versions/3.12.3/lib/python3.12/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/JStuessi/.pyenv/versions/3.12.3/lib/python3.12/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/JStuessi/.pyenv/versions/3.12.3/lib/python3.12/site-packages/click/decorators.py", line 33, in new_func
    return f(get_current_context(), *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/JStuessi/.pyenv/versions/3.12.3/lib/python3.12/site-packages/riscof/cli.py", line 321, in run
    report_objects['results'] = framework.run(dut, base, ctx.obj.isa_file,
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/JStuessi/.pyenv/versions/3.12.3/lib/python3.12/site-packages/riscof/framework/main.py", line 205, in run
    results = test.run_tests(dut, base, ispec['hart0'], pspec, work_dir, cntr_args)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/JStuessi/.pyenv/versions/3.12.3/lib/python3.12/site-packages/riscof/framework/test.py", line 418, in run_tests
    dut.runTests(dut_test_list)
  File "/home/JStuessi/Documents/riscof_workspace/neorv32-riscof/neorv32-riscof/plugin-neorv32/riscof_neorv32.py", line 198, in runTests
    exe_stats = os.stat("sim/main.hex")
                ^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: 'sim/main.hex'

As I understood the zbb extension is not supported by the compiler, is that possible? Do I need to reinstall myself the right toolchain?

Thank you and best regards, Julien

julienissuts commented 2 months ago

Hello, I noticed that i had still another toolchain in the $PATH therefore it didn't work... apologies for the disturbance^^

Best regards Julien

julienissuts commented 2 months ago

Ahh very nice, thank you very much.