HeadlinesBriefing favicon HeadlinesBriefing.com

W64devkit: Seguridad, Cadena de Herramientas y Multilib

Hacker News •
×

Septiembre de 2026 ha sido un año emocionante para w64devkit, la distribución de software que nunca está realmente completa. Peter0x44 se unió como co-mantenedor y llevó el proyecto en nuevas direcciones, con mejoras que retroalimentan upstream para beneficiar a todos los usuarios. Un enfoque principal este año ha sido la seguridad de las publicaciones; en abril, el empaquetado de publicaciones comenzó a firmarse, y ahora todos los EXE y DLL están firmados digitalmente usando la clave del mantenedor. Esto estableció una buena reputación, observando miles de firmas únicas en aproximadamente 100,000 hosts debido a la inclusión de ~300 binarios por publicación. MSYS2 ha adoptado la herramienta de firma, aas-sign, que ahora está incluida en las publicaciones de w64devkit. Las compilaciones se automatizan mediante GitHub Actions, activadas únicamente cuando el mantenedor empuja una nueva etiqueta, garantizando plena transparencia y previniendo manipulaciones secretas. Además, se ha habilitado la inmutabilidad de las publicaciones, bloqueando los artefactos al publicar y evitando que incluso el mantenedor pueda modificar versiones antiguas.

En cuanto a cambios en la cadena de herramientas, la publicación x64 ahora es una cadena de herramientas "multilib", capaz de compilar programas para Windows de 32 bits, superando la publicación x86 dedicada que ahora se reserva para ejecutar w64devkit en hardware antiguo. Para apuntar a x86, los usuarios pueden pasar -m32 o usar herramientas con el prefijo del triple arquitectónico i686-w64-mingw32. Las actualizaciones significativas incluyen la adopción del formato bigobj COFF por defecto en Binutils upstream, resolviendo limitaciones anteriores de compilación para proyectos grandes de C++ y restaurando la funcionalidad de cgo. Además, GCC ha sido parcheado para que el compilador pueda invocarse directamente desde scripts sin necesidad de tener el directorio bin/ en $PATH.