mold 3.0.0: el linker de alta velocidad migrado a Rust

Fuentes: mold 3.0.0: the high-speed linker rewritten in Rust

mold 3.0.0 representa la primera versión mayor de su nuevo sistema de enlazador de alta velocidad, desarrollado en Rust y diseñado como sustituto directo de la versión 2.42.1 escrita en C++. Esta transición marca el fin de la línea de desarrollo en C++ y busca cerrar las brechas de compatibilidad restantes con GNU ld, facilitando su adopción como enlaceador predeterminado en las distribuciones Linux. La nueva versión mantiene la misma interfaz de línea de comandos y soporta las mismas arquitecturas, garantizando una compatibilidad total con la versión anterior, salvo por las correcciones de errores listadas en el changelog.

El cambio a Rust ha mejorado significativamente la seguridad del software. La versión anterior podía sufrir fallos de segmentación al leer archivos de entrada corruptos, mientras que mold 3.0 utiliza comprobaciones de límites para evitar estos accesos ilegales, terminando con un error de pánico en lugar de un crash. Además, el sistema de construcción ha cambiado: mold ahora se compila con Cargo y requiere Rust 1.95 o superior, eliminando la dependencia de CMake. Los desarrolladores deben ajustar sus scripts de instalación para manejar la nueva estructura de dependencias, que incluye mimalloc 3.5.3 y opciones de enlazado estático para zlib y zstd. Esta actualización resuelve múltiples errores de estabilidad, como crashes en scripts de versión o problemas con reubicaciones posicionales, y mejora la determinismo de la salida en cargas de trabajo complejas.