gioser

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 815Rust 56Shell 37Markdown 291229 Definiciones

⎇ 72ba86c2901e41399899fc875b8232f81721fbbe scripts/servidor/cargo-config.toml TOML · 19 líneas · 1.4 KB Historia crudo

la cadena rehecha: llvm21 arreglado, lld enlaza, rust reconstruido — los seis controles pasan 72ba86c29 · Sergio ·

1# Config del SITIO para cargo/rustc — SDD 31.
2#
3# ⚠ Sin esto, `cargo build` en una caja takana falla con `linker `cc` not found`: la distro NO TIENE
4# compilador de C, y no hace falta que lo tenga. Lo que hace falta es decirle a rustc que el
5# enlazador es el `ld` de binutils y que el modo es estático, que es el natural de musl.
6#
7# Por qué CADA flag, todos medidos el 2026-09-16 contra el rustc que construimos:
8#   · `linker-flavor=ld.lld` + `linker=/usr/bin/ld.lld` — el `lld` del corpus (`recipes/lld21.toml`).
9#     Hasta el 2026-09-16 acá decía el `ld` de binutils, porque el `lld` heredaba `LLVM_ENABLE_ZLIB=0`
10#     de `llvm21` y no podía leer las secciones de depuración COMPRIMIDAS de la libc del lab. Con
11#     `llvm21` reconstruido con zlib, lld enlaza y es más rápido. El `ld` de binutils sigue
12#     funcionando como alternativa: `-C linker-flavor=ld -C linker=/usr/bin/ld`.
13#   · `target-feature=+crt-static` — sin esto rustc pide `-lgcc`/`-lgcc_s` para el desenrollado y el
14#     enlace muere en `cannot find -lgcc`: la distro se construye con zig, que trae compiler-rt y no
15#     libgcc. Estático es además el modo natural de musl.
16#   · `link-self-contained=yes` — usa los `crt*.o` y la `libc.a` que el propio toolchain trae.
17[target.x86_64-alpine-linux-musl]
18linker = "/usr/bin/ld.lld"
19rustflags = ["-C", "linker-flavor=ld.lld", "-C", "target-feature=+crt-static", "-C", "link-self-contained=yes"]