code wiki / _hdl_build / nx_retire_gcc_orchestrator.nx
nx_retire_gcc_orchestrator.nx
buildroot/runtime/_hdl_build/nx_retire_gcc_orchestrator.nx
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
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
structs
| none |
consts
| none |
functions
| 15 | func _puts(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 } |
| 16 | func _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 } |
| 18 | func _exitcode(status: i64) -> i64 { return (status >> 8) & 0xff } called by 1: _run |
| 19 | func _run(path: *u8, argv: *i64, envp: *i64, redir_fd: i64) -> i64 |
| 32 | func _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 |
| 51 | func main() -> i64 |