code wiki / _hdl_build / nx_retire_gcc_orchestrator.nx

nx_retire_gcc_orchestrator.nx

buildroot/runtime/_hdl_build/nx_retire_gcc_orchestrator.nx

6699 B103 linesdepth 3pulls 3 transitivereach 0 importersview sourcekind tool
docsdependenciesstructsconstsfunctions

about

nx_retire_gcc_orchestrator.nx -- the TEAM drives the gcc-retirement, using the sovereign tools, and FLAGS the result to the PM review log (operator: "build the team and have them use the tools and flag if we need additional tooling or capabilities or logic"). All orchestration is NishiLang fork/exec (no .sh). It replaces gcc-as+ld on the build path with the team's own nxasm_x86 assembler+linker: PHASE 0 (one-time bootstrap of the TOOL): nx_cc nxasm_x86_main.nx -> .s ; gcc -> /tmp/nxasm_x86 (gcc allowed ONCE to bootstrap the assembler tool itself = the Wheeler bootstrap). PHASE 1 (SOVEREIGN build, NO gcc): nx_cc target.nx -> .s ; nxasm_x86 .s -> .elf ; run the .elf. PHASE 2: flag DELIVERABLE (gcc retired on this path) or a precise GAP (which step + what's needed) to /tmp/nishi_pm_review.log for our joint review. license_tier: ORIGINAL Reuses the _run spine from nx_build_orchestrator.

dependencies 2 imports · 0 importers

nx_pm_review_log.nx nx_syscalls.nx nx_retire_gcc_orchestrator.nx

imports: nx_pm_review_log.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 _puts sys_write sys_mmap pm_open sys_openat_append sys_openat_wr _run sys_fork sys_dup3 sys_execve sys_exit sys_mmap ↻ sys_wait4 _exitcode sys_close _putn sys_mmap ↻ sys_write ↻ pm_gap pm_flag pm_w sys_write ↻ pm_cstr_len sys_exit ↻ _prove_target sys_openat_wr ↻ sys_mmap ↻ _run ↻ sys_close ↻ _puts ↻ _putn ↻ pm_gap ↻ pm_deliverable pm_flag ↻

structs

none

consts

none

functions

15func _puts(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 }
called by 2: _prove_targetmain calls 1: sys_write
16func _putn(v: i64) -> i64 { let bb: *u8 = sys_mmap(28); var m: i64=v; if m<0 {m=0-m;sys_write(1,"-" as *u8,1)}; let t: *u8 = sys_mmap(28); var k: i64=0; if m==0 {t[0]=48;k=1}; while m>0 {t[k]=48+(m%10); m=m/10; k=k+1}; var i: i64=0; while i<k {bb[i]=t[k-1-i]; i=i+1}; sys_write(1, bb, k); return 0 }
called by 2: _prove_targetmain calls 2: sys_mmapsys_write
18func _exitcode(status: i64) -> i64 { return (status >> 8) & 0xff }
called by 1: _run
19func _run(path: *u8, argv: *i64, envp: *i64, redir_fd: i64) -> i64
32func _prove_target(compiler: *u8, asm_tool: *u8, target: *u8, tgt_s: *u8, tgt_elf: *u8, envp: *i64, pm: i64, area: *u8, subject: *u8, expected: i64) -> i64
51func main() -> i64