Files
sergioandClaude Opus 4.8 526141a05b selfhost-verify: climb rust 1.90→1.91.0→1.91.1 COMPLETO (toolchain self-hosted)
Ambos hops del climb construidos con el bootstrap real (x.py) en el sandbox devfs,
reusando LLVM 20.1.8 externo en todo (gate >=19) — sin rebuild de LLVM:

  mrustc → rustc 1.90.0 → rustc 1.91.0 → rustc 1.91.1

- hop 1 (1.90.0→1.91.0): bootstrap.toml, stage0 = prefix run_rustc musl-host
  1.90.0. stage-2 + install → rust-1.91.0-prefix relocatable (rpath).
- hop 2 (1.91.0→1.91.1): bootstrap-1.91.1.toml, stage0 rustc = el 1.91.0 instalado
  (bind ro /stage0 vía STAGE0), stage0 cargo = el 1.90.0 (pasa el check minor-1).
  extended+cargo. FIX cargo-native-static=true → feature all-static (openssl/curl/
  libgit2/libz vendored desde fuente vía gcc), el devfs hermético no tiene OpenSSL.
- run-xpy.sh: añade bind ro opcional /stage0 (env STAGE0) para el stage0 del hop.

VERIFICADO: rust-1.91.1-prefix/bin/{rustc,cargo} corren standalone (solo prefix
montado, rpath). rustc 1.91.1 (ed61e7d7e) host x86_64-unknown-linux-musl LLVM
20.1.8; cargo 1.91.1. Smoke-test compila+corre. Es la versión EXACTA de Alpine,
auto-alojada desde la cadena mrustc. Cada hop ~45min (LLVM reusado).

NEXT: swap rust 1.91.1 en /toolchain + criterio de auto-consistencia (EXPECT_REF).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-16 11:32:53 -04:00

48 lines
1.4 KiB
TOML

# bootstrap.toml — hammer self-host climb hop 2 (1.91.0 -> 1.91.1), musl host.
# stage0 rustc = the installed hammer-built 1.91.0 (bound read-only at /stage0);
# stage0 cargo = the run_rustc mrustc-bootstrapped 1.90.0 cargo (1.90 satisfies
# bootstrap's "minor-1" check for a 1.91.x source). LLVM 20.1.8 reused externally.
# extended+cargo so the install includes a hammer-built cargo 1.91.1 (final toolchain).
change-id = "ignore"
[build]
build = "x86_64-unknown-linux-musl"
host = ["x86_64-unknown-linux-musl"]
target = ["x86_64-unknown-linux-musl"]
rustc = "/stage0/bin/rustc"
cargo = "/mrustc/run_rustc/output-1.90.0-x86_64-unknown-linux-musl/prefix/bin/cargo"
python = "/usr/bin/python3"
submodules = false
docs = false
extended = true
tools = ["cargo"]
# hermetic musl devfs has no system OpenSSL/curl/libgit2 → build cargo with the
# `all-static` feature set (vendored openssl/libgit2 + static curl/libz, all
# compiled from the vendored C sources via gcc). This is what bootstrap pushes
# for the cargo tool when cargo-native-static is set (prepare_tool_cargo).
cargo-native-static = true
vendor = true
locked-deps = true
verbose = 1
[rust]
channel = "stable"
download-rustc = false
lld = false
llvm-tools = false
rpath = true
[install]
prefix = "/out"
sysconfdir = "etc"
[llvm]
download-ci-llvm = false
[target.x86_64-unknown-linux-musl]
llvm-config = "/mrustc/rustc-1.90.0-src/build/bin/llvm-config"
crt-static = false
cc = "gcc"
cxx = "g++"
linker = "gcc"