code wiki / _hdl_build / nx_riscv_elf.nx

nx_riscv_elf.nx

buildroot/runtime/_hdl_build/nx_riscv_elf.nx

3859 B56 linesdepth 4pulls 4 transitivereach 0 importersview sourcekind tooltopic riscv
docsdependenciesstructsconstsfunctions

about

nx_riscv_elf.nx -- SOVEREIGN RISC-V backend RUNG 2: our own ELF64 writer. Now on the GENERAL nx_riscv_lib (shared build_header, encoders, byte readers, ident, UI) -- only the program + validation tests are local. T1 ELF written, size==144, magic/class(64)/data(LE). T2 e_machine=RISC-V(243), EXEC, e_flags=0(no-FPU), PT_LOAD R+X, entry. T3 our reader decodes the embedded code == [addi,addi,mul,addi,addi,ecall]. (no ld/readelf/sh) expect_exit: 0 Sovereign: nx_riscv_lib (+ nx_syscalls).

dependencies 2 imports · 0 importers

nx_riscv_lib.nx nx_syscalls.nx nx_riscv_elf.nx

imports: nx_riscv_lib.nxnx_syscalls.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main g_puts sys_write sys_mmap nxa_die sys_write ↻ sys_exit nxa_lock_take nxa_lock_addr sys_write ↻ nxa_lock_give nxa_lock_addr ↻ nxa_report_overrun sys_write ↻ nxa_dump_printable sys_write ↻ nxa_dump_sizes sys_write ↻ build_header put32 put64 put32 ↻ enc_i enc_r g_pn nxi_out nxi_fd sys_mmap ↻ ccz_cat_num nxi_buf sys_write ↻ sys_munmap sys_openat_wr sys_write ↻ sys_close sys_openat_rd sys_read ck g_puts ↻ rd16

structs

none

consts

none

functions

9func main() -> i64