U-boot problem

It seems riscv’s new version changed basic extensions set. It is split ziscr & zifencei from g-extension .
So , you need new compile tools to support new riscv version. I remember GCC >= 12 && Binutils >=2.40 is supported. But clang , maybe clang >= 15 ? I do not known.
Or , you can try let binutils’s tools run on old version. I think it is have parameters to set that.

PS: Why do you use clang with binutils’s gas, not with llvm-as? :thinking:

1 Like

But clang , maybe clang >= 15 ? I do not known.

Should be clang >= 17, but not available yet.

PS: Why do you use clang with binutils’s gas, not with llvm-as? :thinking:

Because I don’t know better what options there are with all the gcc, clang, … stuff and I have not enough experience.

I removed gas and installed the OpenBSD llvm port, which contains it:

vf2# llvm-as --version
LLVM (http://llvm.org/):
  LLVM version 13.0.0
  Optimized build.
  Default target: riscv64-unknown-openbsd7.3
  Host CPU: (unknown)

vf2# gas --version                                                
ksh: gas: not found

How Do I “tell” gmake to actually “use” it? Is there some FLAG I can pass ?

You need “tell” to Makefile, gmake is a interpreter.
In common AS=xxxx is enought. But it is dep on how the makefile writed.

And , I remember as is called by clang/gcc automatily. It is only add a paramter to tell clang use llvm’s as.

Or … Why you do not use gcc to compile it ?

Thanks a lot for comments. Tuned the makefile for AS=llvm-as but gave only additional errors.

Was thinking about the gcc approach before, but there were dependency errors and I could not install it. Managed to install “problematic” 2 dependencies with pkg_add as “standalone version”. Thereafter gcc installation was also possible.

It now looks “better”, but still the same error after a while:

vf2# gmake PLATFORM=generic FW_TEXT_START=0x40000000 FW_OPTIONS=0 CC=egcc
 CC-DEP    platform/generic/starfive/jh7110.dep
 CC-DEP    platform/generic/sifive/fu540.dep
 CC-DEP    platform/generic/sifive/fu740.dep
 CC-DEP    platform/generic/renesas/rzfive/rzfive.dep
 CC-DEP    platform/generic/platform.dep
 CC-DEP    platform/generic/andes/ae350.dep
 AS-DEP    platform/generic/andes/sleep.dep
 CC-DEP    platform/generic/andes/andes45-pma.dep
 CC-DEP    platform/generic/andes/andes_sbi.dep
 CC-DEP    platform/generic/allwinner/sun20i-d1.dep
 CC-DEP    lib/sbi/riscv_asm.dep
 CC-DEP    lib/sbi/riscv_atomic.dep
 AS-DEP    lib/sbi/riscv_hardfp.dep
 CC-DEP    lib/sbi/riscv_locks.dep
 CC-DEP    lib/sbi/sbi_ecall.dep
 CC-DEP    lib/sbi/sbi_ecall_time.dep
 CC-DEP    lib/sbi/sbi_ecall_rfence.dep
 CC-DEP    lib/sbi/sbi_ecall_ipi.dep
 CC-DEP    lib/sbi/sbi_ecall_base.dep
 CC-DEP    lib/sbi/sbi_ecall_hsm.dep
 CC-DEP    lib/sbi/sbi_ecall_srst.dep
 CC-DEP    lib/sbi/sbi_ecall_susp.dep
 CC-DEP    lib/sbi/sbi_ecall_pmu.dep
 CC-DEP    lib/sbi/sbi_ecall_dbcn.dep
 CC-DEP    lib/sbi/sbi_ecall_cppc.dep
 CC-DEP    lib/sbi/sbi_ecall_legacy.dep
 CC-DEP    lib/sbi/sbi_ecall_vendor.dep
 CC-DEP    lib/sbi/sbi_bitmap.dep
 CC-DEP    lib/sbi/sbi_bitops.dep
 CC-DEP    lib/sbi/sbi_console.dep
 CC-DEP    lib/sbi/sbi_domain.dep
 CC-DEP    lib/sbi/sbi_emulate_csr.dep
 CC-DEP    lib/sbi/sbi_fifo.dep
 CC-DEP    lib/sbi/sbi_hart.dep
 CC-DEP    lib/sbi/sbi_heap.dep
 CC-DEP    lib/sbi/sbi_math.dep
 AS-DEP    lib/sbi/sbi_hfence.dep
 CC-DEP    lib/sbi/sbi_hsm.dep
 CC-DEP    lib/sbi/sbi_illegal_insn.dep
 CC-DEP    lib/sbi/sbi_init.dep
 CC-DEP    lib/sbi/sbi_ipi.dep
 CC-DEP    lib/sbi/sbi_irqchip.dep
 CC-DEP    lib/sbi/sbi_misaligned_ldst.dep
 CC-DEP    lib/sbi/sbi_platform.dep
 CC-DEP    lib/sbi/sbi_pmu.dep
 CC-DEP    lib/sbi/sbi_scratch.dep
 CC-DEP    lib/sbi/sbi_string.dep
 CC-DEP    lib/sbi/sbi_system.dep
 CC-DEP    lib/sbi/sbi_timer.dep
 CC-DEP    lib/sbi/sbi_tlb.dep
 CC-DEP    lib/sbi/sbi_trap.dep
 CC-DEP    lib/sbi/sbi_unpriv.dep
 AS-DEP    lib/sbi/sbi_expected_trap.dep
 CC-DEP    lib/sbi/sbi_cppc.dep
 CC-DEP    platform/generic/lib/utils/timer/aclint_mtimer.dep
 CC-DEP    platform/generic/lib/utils/timer/andes_plmt.dep
 CC-DEP    platform/generic/lib/utils/timer/fdt_timer.dep
 GEN-DEP   platform/generic/lib/utils/timer/fdt_timer_drivers.dep
 GEN-DEP   platform/generic/lib/utils/timer/fdt_timer_drivers.dep
 CC-DEP    platform/generic/lib/utils/timer/fdt_timer_mtimer.dep
 CC-DEP    platform/generic/lib/utils/timer/fdt_timer_plmt.dep
 CC-DEP    platform/generic/lib/utils/sys/htif.dep
 CC-DEP    platform/generic/lib/utils/sys/atcsmu.dep
 CC-DEP    platform/generic/lib/utils/serial/fdt_serial.dep
 GEN-DEP   platform/generic/lib/utils/serial/fdt_serial_drivers.dep
 GEN-DEP   platform/generic/lib/utils/serial/fdt_serial_drivers.dep
 CC-DEP    platform/generic/lib/utils/serial/fdt_serial_cadence.dep
 CC-DEP    platform/generic/lib/utils/serial/fdt_serial_gaisler.dep
 CC-DEP    platform/generic/lib/utils/serial/fdt_serial_htif.dep
 CC-DEP    platform/generic/lib/utils/serial/fdt_serial_renesas_scif.dep
 CC-DEP    platform/generic/lib/utils/serial/fdt_serial_shakti.dep
 CC-DEP    platform/generic/lib/utils/serial/fdt_serial_sifive.dep
 CC-DEP    platform/generic/lib/utils/serial/fdt_serial_litex.dep
 CC-DEP    platform/generic/lib/utils/serial/fdt_serial_uart8250.dep
 CC-DEP    platform/generic/lib/utils/serial/fdt_serial_xlnx_uartlite.dep
 CC-DEP    platform/generic/lib/utils/serial/cadence-uart.dep
 CC-DEP    platform/generic/lib/utils/serial/gaisler-uart.dep
 CC-DEP    platform/generic/lib/utils/serial/renesas_scif.dep
 CC-DEP    platform/generic/lib/utils/serial/shakti-uart.dep
 CC-DEP    platform/generic/lib/utils/serial/sifive-uart.dep
 CC-DEP    platform/generic/lib/utils/serial/litex-uart.dep
 CC-DEP    platform/generic/lib/utils/serial/uart8250.dep
 CC-DEP    platform/generic/lib/utils/serial/xlnx-uartlite.dep
 CC-DEP    platform/generic/lib/utils/serial/semihosting.dep
 CC-DEP    platform/generic/lib/utils/reset/fdt_reset.dep
 GEN-DEP   platform/generic/lib/utils/reset/fdt_reset_drivers.dep
 GEN-DEP   platform/generic/lib/utils/reset/fdt_reset_drivers.dep
 CC-DEP    platform/generic/lib/utils/reset/fdt_reset_atcwdt200.dep
 CC-DEP    platform/generic/lib/utils/reset/fdt_reset_gpio.dep
 CC-DEP    platform/generic/lib/utils/reset/fdt_reset_htif.dep
 CC-DEP    platform/generic/lib/utils/reset/fdt_reset_sunxi_wdt.dep
 CC-DEP    platform/generic/lib/utils/reset/fdt_reset_syscon.dep
 CC-DEP    platform/generic/lib/utils/reset/fdt_reset_thead.dep
 AS-DEP    platform/generic/lib/utils/reset/fdt_reset_thead_asm.dep
 CC-DEP    platform/generic/lib/utils/regmap/fdt_regmap.dep
 GEN-DEP   platform/generic/lib/utils/regmap/fdt_regmap_drivers.dep
 GEN-DEP   platform/generic/lib/utils/regmap/fdt_regmap_drivers.dep
 CC-DEP    platform/generic/lib/utils/regmap/fdt_regmap_syscon.dep
 CC-DEP    platform/generic/lib/utils/regmap/regmap.dep
 CC-DEP    platform/generic/lib/utils/libfdt/fdt.dep
 CC-DEP    platform/generic/lib/utils/libfdt/fdt_addresses.dep
 CC-DEP    platform/generic/lib/utils/libfdt/fdt_check.dep
 CC-DEP    platform/generic/lib/utils/libfdt/fdt_empty_tree.dep
 CC-DEP    platform/generic/lib/utils/libfdt/fdt_ro.dep
 CC-DEP    platform/generic/lib/utils/libfdt/fdt_rw.dep
 CC-DEP    platform/generic/lib/utils/libfdt/fdt_strerror.dep
 CC-DEP    platform/generic/lib/utils/libfdt/fdt_sw.dep
 CC-DEP    platform/generic/lib/utils/libfdt/fdt_wip.dep
 CC-DEP    platform/generic/lib/utils/irqchip/fdt_irqchip.dep
 GEN-DEP   platform/generic/lib/utils/irqchip/fdt_irqchip_drivers.dep
 GEN-DEP   platform/generic/lib/utils/irqchip/fdt_irqchip_drivers.dep
 CC-DEP    platform/generic/lib/utils/irqchip/fdt_irqchip_aplic.dep
 CC-DEP    platform/generic/lib/utils/irqchip/fdt_irqchip_imsic.dep
 CC-DEP    platform/generic/lib/utils/irqchip/fdt_irqchip_plic.dep
 CC-DEP    platform/generic/lib/utils/irqchip/aplic.dep
 CC-DEP    platform/generic/lib/utils/irqchip/imsic.dep
 CC-DEP    platform/generic/lib/utils/irqchip/plic.dep
 CC-DEP    platform/generic/lib/utils/ipi/aclint_mswi.dep
 CC-DEP    platform/generic/lib/utils/ipi/andes_plicsw.dep
 CC-DEP    platform/generic/lib/utils/ipi/fdt_ipi.dep
 GEN-DEP   platform/generic/lib/utils/ipi/fdt_ipi_drivers.dep
 GEN-DEP   platform/generic/lib/utils/ipi/fdt_ipi_drivers.dep
 CC-DEP    platform/generic/lib/utils/ipi/fdt_ipi_mswi.dep
 CC-DEP    platform/generic/lib/utils/ipi/fdt_ipi_plicsw.dep
 CC-DEP    platform/generic/lib/utils/i2c/i2c.dep
 CC-DEP    platform/generic/lib/utils/i2c/fdt_i2c.dep
 GEN-DEP   platform/generic/lib/utils/i2c/fdt_i2c_adapter_drivers.dep
 GEN-DEP   platform/generic/lib/utils/i2c/fdt_i2c_adapter_drivers.dep
 CC-DEP    platform/generic/lib/utils/i2c/fdt_i2c_sifive.dep
 CC-DEP    platform/generic/lib/utils/i2c/fdt_i2c_dw.dep
 CC-DEP    platform/generic/lib/utils/i2c/dw_i2c.dep
 CC-DEP    platform/generic/lib/utils/gpio/fdt_gpio.dep
 GEN-DEP   platform/generic/lib/utils/gpio/fdt_gpio_drivers.dep
 GEN-DEP   platform/generic/lib/utils/gpio/fdt_gpio_drivers.dep
 CC-DEP    platform/generic/lib/utils/gpio/fdt_gpio_designware.dep
 CC-DEP    platform/generic/lib/utils/gpio/fdt_gpio_sifive.dep
 CC-DEP    platform/generic/lib/utils/gpio/fdt_gpio_starfive.dep
 CC-DEP    platform/generic/lib/utils/gpio/gpio.dep
 CC-DEP    platform/generic/lib/utils/fdt/fdt_domain.dep
 CC-DEP    platform/generic/lib/utils/fdt/fdt_pmu.dep
 CC-DEP    platform/generic/lib/utils/fdt/fdt_helper.dep
 CC-DEP    platform/generic/lib/utils/fdt/fdt_fixup.dep
 AS-DEP    platform/generic/firmware/payloads/test_head.dep
 CC-DEP    platform/generic/firmware/payloads/test_main.dep
 MERGE-DEP platform/generic/firmware/payloads/test.dep
 AS-DEP    platform/generic/firmware/fw_dynamic.dep
 AS-DEP    platform/generic/firmware/fw_jump.dep
 AS-DEP    platform/generic/firmware/fw_payload.dep
 CPP-DEP   platform/generic/firmware/payloads/test.elf.dep
 CPP-DEP   platform/generic/firmware/fw_dynamic.elf.dep
 CPP-DEP   platform/generic/firmware/fw_jump.elf.dep
 CPP-DEP   platform/generic/firmware/fw_payload.elf.dep
 CC        lib/sbi/riscv_asm.o
Assembler messages:
Fatal error: -march=rv64imafdc_zicsr_zifencei: unsupported ISA subset `z'
gmake: *** [Makefile:503: /home/opensbi/build/lib/sbi/riscv_asm.o] Error 1

vf2# egcc --version
egcc (GCC) 11.2.0

Use “gmake V=1” to let it output compile-cmd.

I remember that gcc11 is not support zicsr & zifencei . Maybe your build tools is still wrong.

I remember that gcc11 is not support zicsr & zifencei . Maybe your build tools is still wrong.

Yeah - I am compiling gcc-13.2.0 now. Let’s see if that works and thereafter I will report back again.