From Fedora Project Wiki

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

Stato corrente

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.