code wiki / _hdl_build / _cl_probe2.nx
_cl_probe2.nx source
↩ module page · 18 lines · 761 B
1// _cl_probe2.nx -- isolate regen's failing step: cl_cats path build, .new create, renameat
2import "nx_capreg_librarian.nx"
3import "nx_syscalls.nx"
4
5func main() -> i64 {
6 let lp: *u8 = "/tmp/_cl_live_probe.log" as *u8
7 let tmp: *u8 = sys_mmap(256)
8 var tl: i64 = cl_cats(tmp, 0, lp)
9 tl = cl_cats(tmp, tl, ".new" as *u8)
10 cl_w(1, "path=[" as *u8); cl_w(1, tmp); cl_w(1, "] len=" as *u8); cl_wn(1, tl); cl_w(1, "\n" as *u8)
11 let out: i64 = sys_openat_wr(tmp, 0x1a4)
12 cl_w(1, "open_new fd=" as *u8); cl_wn(1, out); cl_w(1, "\n" as *u8)
13 if out >= 0 { cl_w(out, "PROBE\n" as *u8); sys_close(out) }
14 let rr: i64 = sys_renameat(tmp, lp)
15 cl_w(1, "renameat rc=" as *u8); cl_wn(1, rr); cl_w(1, "\n" as *u8)
16 sys_exit(0)
17 return 0
18}