diff --git a/crates/hammer-build/src/sandbox.rs b/crates/hammer-build/src/sandbox.rs index c0f5f8e2..73922584 100644 --- a/crates/hammer-build/src/sandbox.rs +++ b/crates/hammer-build/src/sandbox.rs @@ -572,6 +572,16 @@ fn write_cc_wrappers(rootfs: &Path) -> hammer_core::Result<()> { \x20 done\n\ \x20 ;;\n\ esac\n\ + \x20# `-mcpu=baseline` NO se inyecta en modo PREPROCESADOR (`-E`): ahí zig lo traduce a\n\ + \x20# un `-mcpu=` VACÍO y lo rechaza («unsupported option '-mcpu=' for target»). Es\n\ + \x20# inofensivo omitirlo —preprocesar no genera código, así que no hay CPU al que\n\ + \x20# apuntar— y sin esto NO se puede esquivar desde la receta: util-linux ya filtra\n\ + \x20# el flag en sus generadores `all_errnos`/`all_syscalls`, pero filtra `\"$@\"` y el\n\ + \x20# wrapper lo vuelve a poner DESPUÉS ⇒ el apaño de la receta es inerte y `errnos.h`\n\ + \x20# no se genera (2026-08-12; util-linux es del perfil base).\n\ + case \" $* \" in\n\ + \x20 *\" -E \"*) exec {driver} \"$@\" ;;\n\ + esac\n\ exec {driver} -mcpu=baseline \"$@\"\n" ) };