selfhost-verify: RUST_EXPECT_REF=7fa6cb4e + swap --restore deja el toolchain prístino
Auto-consistencia de hammer-rust VERIFICADA en host (2026-06-17): of_tree(stage1) construido con hammer-rust 1.91.1 = b3:7fa6cb4e… reproducido 2× (store-rust y store-rust2, builds frescos independientes). Es el nuevo EXPECT_REF para SWAP_RUST (criterio elegido: auto-consistencia, ≠ el 9adefb82 de Alpine). Cableado como default de RUST_EXPECT_REF. swap-rust-into-toolchain.sh --restore: ahora también elimina lo AÑADIDO por el swap (rustlib x86_64-unknown-linux-musl + librustc_driver de hammer), no sólo restaura rustc/cargo. Round-trip apply→restore deja el devfs prístino (verificado: sólo x86_64-alpine-linux-musl + driver de Alpine). Antes dejaba ~350 MB de cruft. Nota: los leftovers NO afectaban el of_tree (un build Alpine con/ sin ellos diverge igual del baseline Jun13 — ver hallazgo de drift abajo); la limpieza es higiene/reversibilidad. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -51,7 +51,18 @@ if [ "$RESTORE" = 1 ]; then
|
||||
echo " (sin backup de usr/bin/$b — ¿ya restaurado?)"
|
||||
fi
|
||||
done
|
||||
echo " (los .so y el rustlib x86_64-unknown-linux-musl añadidos quedan; son inertes — el rustc de Alpine no los usa)"
|
||||
# Quitar también lo AÑADIDO por el swap: el librustc_driver de hammer (hash propio, distinto del
|
||||
# de Alpine) y el sysroot del triple x86_64-unknown-linux-musl (un devfs Alpine prístino NO los
|
||||
# tiene). Inertes para el rustc de Alpine, pero dejarlos es ~350 MB de cruft y deja el toolchain
|
||||
# no-prístino; lo limpiamos para que --restore sea reversibilidad total.
|
||||
rm -rf "$TOOLCHAIN/usr/lib/rustlib/x86_64-unknown-linux-musl"
|
||||
# Sólo los librustc_driver que NO son de Alpine (Alpine deja exactamente uno; el swap añadió otro).
|
||||
if [ -d "$PREFIX/lib" ]; then
|
||||
for so in "$PREFIX"/lib/librustc_driver-*.so; do
|
||||
[ -e "$so" ] && rm -f "$TOOLCHAIN/usr/lib/$(basename "$so")"
|
||||
done
|
||||
fi
|
||||
echo " limpiado usr/lib/rustlib/x86_64-unknown-linux-musl + librustc_driver de hammer"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
||||
@@ -90,9 +90,10 @@ if [[ "${SWAP_RUST:-0}" == 1 ]]; then
|
||||
# para forzar el rebuild de los 4/4 con hammer-rust; así el of_tree refleja el compilador nuevo.
|
||||
STORE="${RUST_STORE:-store-rust}"
|
||||
say "SWAP_RUST: store dedicado $STORE (el ./store baseline no se toca; fuerza rebuild con hammer-rust)"
|
||||
# Con hammer-rust el REF NO es el 9adefb82 de Alpine; comparamos contra RUST_EXPECT_REF (si se
|
||||
# conoce de una corrida previa), no contra el baseline Alpine.
|
||||
EXPECT_REF="${RUST_EXPECT_REF:-}"
|
||||
# Con hammer-rust el REF NO es el 9adefb82 de Alpine; comparamos contra RUST_EXPECT_REF, el
|
||||
# of_tree(stage1) auto-consistente de hammer-rust 1.91.1 (reproducido 2× en host, 2026-06-17,
|
||||
# store-rust y store-rust2). Override con RUST_EXPECT_REF= para re-anclar.
|
||||
EXPECT_REF="${RUST_EXPECT_REF:-b3:7fa6cb4e70a934d72206cf3d95cf46a13f0a6464ec73855b98d547195f4ed047}"
|
||||
fi
|
||||
|
||||
# 1) Store baseline: stage1 (idempotente; rebuildea lo que falte con -mcpu=baseline ya en fuente).
|
||||
|
||||
Reference in New Issue
Block a user