Pregunta

En el PSPSDK (Homebrew) estamos utilizando Binutils 2.16.1 para ensamblar y vincular el código de PlayStation Portable, sin embargo, esa versión está bastante desactualizada (3 versiones lo han reemplazado). La comunidad y yo hemos estado actualizando GCC y newlib a las últimas versiones estables y todo parece funcionar con los viejos binutils.

¿GCC producirá un mejor código con binutils 2.19? ¿Por qué? ¿Binutils 2.19 producirá mejores archivos elf y libs que 2.16.1? ¿Por qué?

¿Fue útil?

Solución

binutils 2.19 tiene un nuevo vinculador ELF llamado < code> gold , que es multiproceso, escrito en C ++ moderno y bastante más rápido que el enlazador habitual ld . Sin embargo, no estoy seguro sobre el trabajo involucrado para adaptarlo.

Aparte de eso, las nuevas versiones siempre son una buena idea. Es probable que se hayan incluido el rendimiento y las correcciones de errores, por supuesto. Creo que sin duda lo probaría y si algo sale mal, aún puede dar un paso atrás.

Otros consejos

En general, no necesita actualizar binutils a menos que se encuentre con algún error corregido en una versión posterior de binutils o necesite nuevas características (como los identificadores de compilación del vinculador).

En particular, la generación de código GCC es en gran medida independiente de binutils (excepto para construcciones como __thread , que requieren cierto nivel de soporte de binutils).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top