From 297ae976e2136c26f5fb2f6bb8fa5030df1540f9 Mon Sep 17 00:00:00 2001 From: "russell@unturf.com" Date: Thu, 4 Jun 2026 12:49:13 -0400 Subject: [PATCH] asm: argv script-mode + always-on eq? prelude (defects #28, #30) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two coupled defects surfaced during ecdsa cross-tier validation against the asm tier. Defect #28 — _start ignored argv. Invoking `asm/lumbda-gc file.lsp` silently discarded argv[1] and dropped into a REPL that blocked on a pty when run under SSH. Walk argc/argv after init_builtins + prelude load and before repl_top: for each argv[i] starting at i=1, skip arg if it begins with '-' (flag stub), otherwise allocate a Scheme string from the C string, wrap in a 1-element arg list, dispatch through apply_proc_raw on the BI_LOAD builtin. If any non-flag arg ran, jump to repl_exit instead of entering the REPL. Mirrors the c/main.c script-mode semantics. The RET_VAL macro on the builtin return path pops r12/rbp/rbx in an order that corrupts %rbp (it restores the pre-call %r12 into rbp), so the loop counter saves %rbp around the apply_proc_raw call. Defect #30 — eq? was only present under CL_FULL. The plain `lumbda` and `lumbda-gc` binaries shipped without the alias `(define eq? eqv?)`, so any .lsp expecting eq? (every cross-tier file we own) hit "unbound variable: eq?" the moment it tried a status check. Lift that single alias into a new always-on `default_prelude` block with its own `load_default_prelude` loader (modelled after load_cl_full_prelude), and call it unconditionally from _start between rng_seed and the CL_FULL block. Verification: - `make asm-build` clean - `make asm-test`: 158 passed, 0 failed (full suite green) - `(eq? 1 1)` -> #t on all three tiers via stdin pipe AND file arg - `~/git/lumbda/asm/lumbda-gc /tmp/asm-test.lsp` exits 0 with #t printed --- asm/lumbda | Bin 59992 -> 60488 bytes asm/lumbda-full | Bin 71224 -> 71720 bytes asm/lumbda-full.o | Bin 74888 -> 75984 bytes asm/lumbda-gc | Bin 68720 -> 69224 bytes asm/lumbda-gc.o | Bin 70688 -> 71808 bytes asm/lumbda.o | Bin 61496 -> 62592 bytes asm/lumbda.s | 155 ++++++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 155 insertions(+) diff --git a/asm/lumbda b/asm/lumbda index 3d970b625103d10ed2dc61f9ecbc9414165263f3..49491e590c1fb155c5e0f66017b942950ca7187c 100755 GIT binary patch delta 17694 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 diff --git a/asm/lumbda-full b/asm/lumbda-full index 8df53f98876733d9e2aeae5d68cfba221fab9135..3ce784a7711113c2b3967588917c60fb573d506e 100755 GIT binary patch delta 22367 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 delta 21464 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 diff --git a/asm/lumbda-full.o b/asm/lumbda-full.o index be7430e9a018eec0d9953d1f1d5a210e73eb726f..532bbe3ac6477b490de50bdf88736ef3528cfc5a 100644 GIT binary patch literal 75984 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 delta 25420 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 diff --git a/asm/lumbda-gc b/asm/lumbda-gc index 16507789715317d340fa6b2bedb110aa0ff9b49c..b0688c60628e30f252183c257f2d205caa58a687 100755 GIT binary patch delta 21556 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 t%v1E^-y@B)l}7(SG~;UDxlA-)F8X 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

25ww&1&uK{+&qo)m)3?>ML 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 literal 70688 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 BDPaHr diff --git a/asm/lumbda.o b/asm/lumbda.o index 4f3e82ea4d169217e85f5371a347999c7d441f35..913a67f6ee677282a398be97b90b2c00d822e0e2 100644 GIT binary patch delta 20852 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 U_CbNan|V7KJ?Jqx<#xsY1G-ERtN;K2 delta 19512 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" err_ht_miss: .ascii "Error: hash-table-ref: missing key\n" .equ err_ht_miss_len, . - err_ht_miss +# ── Default prelude — always loaded, every binary tier ─────────── +# Defines the Scheme-side aliases that cross-tier .lsp code expects +# to exist on the plain `lumbda` and `lumbda-gc` builds (not just +# `lumbda-full`). Kept minimal: every entry here ships in every +# binary, so add only universally-needed forms. (Defect #30 in our +# ecdsa cross-tier validation: `eq?` was only present under CL_FULL, +# leaving `lumbda` and `lumbda-gc` with `eqv?` but no `eq?`.) +default_prelude: + .ascii "(define eq? eqv?)\n" +.equ default_prelude_len, . - default_prelude + .ifdef CL_FULL # ── CL_FULL prelude — auto-loaded Scheme definitions ────────────── # Runs once at init, after builtins + RNG seed, before the REPL. @@ -720,12 +731,105 @@ _start: xorq %rdi, %rdi call rng_seed + # Always-on prelude — defines `eq?` (and any future cross-tier + # aliases). Required for parity with our Python + C tiers, which + # carry these via their own preludes / native builtins. + call load_default_prelude + .ifdef CL_FULL # Auto-load the CL_FULL prelude (caddr, 1+, list-ref, assq, …). # Runs before the REPL so user code sees the helpers immediately. call load_cl_full_prelude .endif + # ─── argv script-mode handling ─────────────────────────────── + # Stack layout at _start entry (preserved through here — the + # only %rsp mutations above are paired sub/add 256 around ioctl): + # 0(%rsp) = argc, 8(%rsp) = argv[0], 16(%rsp) = argv[1], … + # For each argv[i] (i >= 1): + # * Skip args starting with '-' (flag stubs, no-op for now). + # * Otherwise treat as a script path: build a Scheme string, + # wrap in a 1-element arg list, dispatch (load "path") via + # apply_proc_raw on the BI_LOAD builtin. + # If any non-flag arg was consumed, exit after processing all + # args instead of entering the REPL. Mirrors c/main.c:234-252. + # + # %rbx = argc (callee-saved across apply_proc_raw). + # %rbp = current argv index (1-based). + # %r13 is the heap limit, so we cannot use it here — use a stack + # slot for the "any-script-loaded" flag instead. + movq 0(%rsp), %rbx # argc + cmpq $1, %rbx + jle .argv_done # argc <= 1 → no args, fall through + pushq $0 # [rsp+0] = any-script-loaded flag (0 = none yet) + movq $1, %rbp # i = 1 (skip argv[0]) +.argv_loop: + cmpq %rbx, %rbp + jge .argv_loop_done + # argv pointer table sits at 8(%rsp_orig). We pushed one qword + # (the flag), so add 8 to compensate. + movq 16(%rsp,%rbp,8), %rdi # argv[i] = C string pointer + # Skip if starts with '-' + cmpb $'-', (%rdi) + je .argv_next + # Compute strlen of argv[i] → %rcx + movq %rdi, %rcx +.argv_strlen: + cmpb $0, (%rcx) + je .argv_strlen_done + incq %rcx + jmp .argv_strlen +.argv_strlen_done: + subq %rdi, %rcx # %rcx = length + # Allocate Scheme string: heap_alloc(8 + length) + pushq %rdi # save C string pointer + pushq %rcx # save length + leaq 8(%rcx), %rdi + call heap_alloc +.ifdef GC_NAIVE + movb $HT_STRING, -7(%rax) +.endif + popq %rcx # restore length + popq %rdi # restore C string pointer + movq %rcx, (%rax) # store 8-byte length header + # Copy bytes from argv[i] into payload at 8(%rax) + xorq %rdx, %rdx +.argv_copy: + cmpq %rcx, %rdx + jge .argv_copy_done + movb (%rdi,%rdx), %sil + movb %sil, 8(%rax,%rdx) + incq %rdx + jmp .argv_copy +.argv_copy_done: + orq $TAG_STRING, %rax # tag as Scheme string + # Build 1-element arg list: (cons str NIL) + movq %rax, %rdi + movq $VAL_NIL, %rsi + call make_pair + movq %rax, %rsi # args list + # BI_LOAD builtin value = (BI_LOAD << 3) | TAG_BUILTIN + movq $((BI_LOAD << 3) | TAG_BUILTIN), %rdi + # apply_proc_raw → bi_load returns via RET_VAL, which pops + # r12/rbp/rbx in an order that leaves %rbp corrupted (it gets + # the pre-call %r12 instead of pre-call %rbp). Save %rbp ourselves + # across the call so our loop counter survives. %rbx (argc) is + # restored cleanly. + pushq %rbp + call apply_proc_raw + popq %rbp + # Mark that at least one script ran. + movq $1, 0(%rsp) +.argv_next: + incq %rbp + jmp .argv_loop +.argv_loop_done: + # Pop flag; if non-zero, exit (don't enter REPL). + popq %rax + testq %rax, %rax + jnz repl_exit +.argv_done: + # Set up a generous stack area (16 KB stack frame for deep recursion) # Actually the OS already gave us a stack, so we're fine. @@ -6525,6 +6629,57 @@ bi_portal_resume: RET_VAL .endif +# ============================================================ +# load_default_prelude — parse and eval the always-on prelude. +# Mirrors load_cl_full_prelude but applies to every binary tier +# (default, GC, FULL). Defines `eq?` and any other always-on +# aliases listed at default_prelude. Saves + restores reader input +# state so neither REPL nor argv scripts see the prelude bytes. +# Called from _start after init_builtins / rng_seed, unconditionally. +load_default_prelude: + pushq %rbp + + # Save current input state. + movq input_buf_ptr(%rip), %rax + pushq %rax + movq input_pos(%rip), %rax + pushq %rax + movq input_end(%rip), %rax + pushq %rax + movq input_is_file(%rip), %rax + pushq %rax + + # Install prelude string as input. + leaq default_prelude(%rip), %rax + movq %rax, input_buf_ptr(%rip) + movq $0, input_pos(%rip) + movq $default_prelude_len, input_end(%rip) + movq $1, input_is_file(%rip) # EOF at end; do not refill + +.ldp_loop: + call scheme_read + testq %rax, %rax + jz .ldp_done + movq %rax, %rdi + movq %r14, %rsi # global env + call eval + # .ev_define mutates %r14 directly; no post-eval env update needed. + jmp .ldp_loop + +.ldp_done: + # Restore input state. + popq %rax + movq %rax, input_is_file(%rip) + popq %rax + movq %rax, input_end(%rip) + popq %rax + movq %rax, input_pos(%rip) + popq %rax + movq %rax, input_buf_ptr(%rip) + + popq %rbp + ret + # ============================================================ .ifdef CL_FULL # load_cl_full_prelude — parse and eval the embedded prelude string.