C'è un vantaggio nell'aggiornamento di Binutils dalla 2.16.1 alla 2.19? Perché?
-
22-07-2019 - |
Domanda
Nel PSPSDK (Homebrew) stiamo usando Binutils 2.16.1 per assemblare e collegare il codice per PlayStation Portable, tuttavia quella versione sta diventando piuttosto obsoleta (3 versioni l'hanno sostituita). Io e la community abbiamo aggiornato GCC e newlib alle ultime versioni stabili e tutto sembra funzionare con le vecchie binutils.
GCC produrrà un codice migliore con binutils 2.19? Perché? Binutils 2.19 produrrà file e librerie elf migliori di 2.16.1? Perché?
Soluzione
binutils
2.19 ha un nuovo linker ELF chiamato < code> gold che è multi-thread, scritto in C ++ moderno e un po 'più veloce del solito linker ld
. Tuttavia, non sono sicuro del lavoro svolto per adattarlo.
A parte questo, anche le nuove versioni sono sempre una buona idea. È probabile che le correzioni di prestazioni e bug siano state incluse, ovviamente. Penso che lo proverei sicuramente e se qualcosa va storto puoi ancora tornare indietro.
Altri suggerimenti
In generale, non è necessario aggiornare binutils a meno che non si verifichi un bug corretto in una versione binutils successiva o non siano necessarie nuove funzionalità (come i build-ids del linker).
In particolare, la generazione del codice GCC è in gran parte indipendente da binutils (ad eccezione di costrutti come __thread
, che richiedono un certo livello di supporto da binutils).