Modificato il comportamento predefinito di ld
Sommario
Modificare la semantica di collegamento (linking) DSO del compilatore gcc. In precedenza le chiamate al linker (ld) dal parte del compilatore (gcc) risultavano talvolta in comportamenti dannosi in cui ld tentava indirettamente di soddisfare alle proprie richieste di linking. Questa proposta progettuale eviterà che ld cerchi automaticamente le dipendenze degli oggetti.
Progettista
- Nome: Charley Wang
- E-mail: chwang@redhat.com
Stato corrente
- Targeted release: Fedora 13
Per informazioni aggiornate sullo stato corrente di ChangeInImplicitDSOLinking, visitare la pagina originale.
Descrizione dettagliata
Modificato il comportamento predefinito di ld. Il comportamento predefinito corrente causa i tag DT_NEEDED di essere automaticamente emessi su tutte le dipendenze delle librerie collegate. Ciò significa che se un programma è collegato a lib1 e questa dipende da lib2, allora il programma automaticamente verrà collegato anche a lib2, a prescindere se esso usa o meno lib2. Ciò comporta alcuni problemi. Per esempio, se il programma ha bisogno dei simboli definiti in lib2 ma si affida al collegamento implicito attraverso lib1, eventuali modifiche apportate nelle dipendenze di lib1 potrebbero causare al programma gravi problemi di funzionamento.
Per maggiori informazioni, consultare UnderstandingDSOLinkChange, e la mailing list Change to DSO-linking semantics of the compiler.
Vantaggi per Fedora
Come descritto in UnderstandingDSOLinkChange, il nuovo comportamento predefinito ridurrà i potenziali problemi nel caso gli oggetti condivisi cambino le loro dipendenze.
Note di rilascio
In Fedora 13, il comportamento predefinito di ld
è stato cambiato. Il nuovo comportamento predefinito del linker non collegerà più automaticamente le dipendenze delle librerie.
Altre informazioni
Per:
- Obiettivi
- Test Plan
- Esperienza Utente
- Dipendenze
- Progetto corrente
- Documentazione
- Commenti e Discussioni
consultare la pagina originale di questo documento.