It is now possible to use GraalVM Native Image on RISC-V! I will explain here how to compile applications for RISC-V and the implementation. By default, Native Image uses the Graal compiler to produce machine code, but it can use the LLVM compiler instead by enabling the LLVM backend (documentation). One of the key reasons for using LLVM is that it supports a wide range of architectures, meaning that we do not need to implement the Graal compiler for them, which is the hardest step when adding support for a new architecture. To demonstrate this, I adapted the Native Image LLVM backend for RISC-V machines under Linux with a GraalVM dev build.