En ingeniería de software, el oro es un enlazador para archivos ELF . Se convirtió en un paquete GNU oficial y se agregó a binutils en marzo de 2008 [1] [2] y se lanzó por primera vez en la versión 2.19 de binutils. gold fue desarrollado por Ian Lance Taylor y un pequeño equipo de Google . [3] La motivación para escribir oro fue hacer un enlazador que sea más rápido que el enlazador GNU , [3] especialmente para aplicaciones grandes codificadas en C ++ .
Desarrollador (es) | Ian Lance Taylor |
---|---|
Escrito en | C ++ |
Sistema operativo | ÑU |
Plataforma | x86, x86-64, ARM, PowerPC, TileGX |
Tipo | Enlazador |
Licencia | Licencia pública general GNU versión 3 |
Sitio web | sourceware |
A diferencia del enlazador GNU, Gold no usa la biblioteca BFD para procesar archivos de objetos . Si bien esto limita los formatos de archivo de objeto que puede procesar solo a ELF, también se afirma que da como resultado una implementación más limpia y rápida sin una capa de abstracción adicional. El autor citó la eliminación completa de BFD como una razón para crear un nuevo enlazador desde cero en lugar de mejorar gradualmente el enlazador GNU. [4] Esta reescritura también corrige algunos errores en ld antiguo que rompen los archivos ELF de varias formas menores. [5]
Para especificar el oro en un archivo MAKE , se establece la variable de entorno LD o LD en ld.gold
. Para especificar a gold
través de una opción del compilador , se puede usar la opción gcc-fuse-ld=gold
.
Fedora ha movido el oro de binutils a su propio paquete debido a las preocupaciones de que está sufriendo bitrot después de que el interés de Google se haya trasladado a LLVM . [6]
Ver también
- Comparación de formatos de archivos ejecutables , también para formatos PE / COFF (Windows) y Mach-O (Mac OS X).
Referencias
- ^ "LÉAME dorado: Reescribir, con algunas notas sobre funciones no compatibles" . 2008-03-25 . Consultado el 28 de abril de 2020 .
Es un programa GNU y, por lo tanto, sigue los estándares de formato GNU [...]
- ^ Ian Lance Taylor (22 de marzo de 2008). "Nuevo código de enlazador ELF agregado a GNU binutils" . lista de correo de binutils . Consultado el 28 de abril de 2020 .
- ^ a b Ian Lance Taylor (4 de abril de 2008). "oro: Google lanza GCC Linker nuevo y mejorado" . Blog de código abierto de Google . Consultado el 28 de abril de 2020 .
- ^ Ian Lance Taylor (2008). Un nuevo enlazador ELF . Cumbre de desarrolladores de GCC . págs. 129-136 . Consultado el 28 de abril de 2020 .
- ^ "ElflintGNU" . sourceware.org . Consultado el 28 de abril de 2020 .
eu-elflint tiene una bandera '--gnu-ld' descrita como "Binary ha sido creado con GNU ld y, por lo tanto, se sabe que está roto de ciertas formas". Tenga en cuenta que por GNU ld se entiende el GNU binutils ld original, no el nuevo enlazador GNU binutils gold.
- ^ Michael Larabel (24 de febrero de 2019). "Gold Linker de GNU se está estancando, Fedora busca convertirlo en un paquete separado" . Phoronix . Consultado el 3 de febrero de 2021 .
enlaces externos
- Ian Lance Taylor (22 de agosto de 2007). "Enlazadores parte 1" . Consultado el 28 de abril de 2020 .
- Edge, Jake (26 de marzo de 2008). "Golpeando el oro en binutils" . LWN.net . Consultado el 28 de abril de 2020 .
- "El complemento de oro LLVM" . LLVM .
- Coutant, Cary (5 de abril de 2012). "Vinculación incremental con oro" (PDF) . Cumbre de colaboración de la Fundación Linux .
- "Vinculación incremental con oro" . Cumbre de colaboración de la Fundación Linux 2012 . 2012-04-11.