From Fedora Project Wiki
(Created page with '= Change to the default behaviour of ld = == Sommario == Change DSO-linking semantics of the gcc compiler. Previously calls to the linker (ld) from gcc would result in dangerous...')
 
m (Obbiettivo->Obiettivo)
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
= Change to the default behaviour of ld =
= Modificato il comportamento predefinito di ld =


== Sommario ==
== Sommario ==
Change DSO-linking semantics of the gcc compiler. Previously calls to the linker (ld) from gcc would result in dangerous default behaviour where ld would attempt to implicitly satisfy link requirements. The proposed change will prevent ld from automatically searching in the dependencies of linked objects.
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 ==
== Progettista ==
Line 13: Line 13:


== Descrizione dettagliata ==
== Descrizione dettagliata ==
Change the default behaviour of ld. The current default behaviour causes DT_NEEDED tags to be automatically emitted for all dependencies of linked libraries. Effectively this means that if you link to lib1 and lib1 depends on lib2, then your program will automatically get lib2 regardless of whether lib2 is used in your program itself. There are some problems with this approach. For example, if your program requires symbols from lib2 but relies on the implicit link via lib1, then your program is vulnerable to changes to lib1's dependencies. For more information, please see [[UnderstandingDSOLinkChange]]. There has also been some discussion of this and other related issues on the mailing list: http://www.opensubscriber.com/message/devel@lists.fedoraproject.org/13259010.html
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. <BR>Per maggiori informazioni, consultare [[UnderstandingDSOLinkChange]], e la mailing list [http://www.opensubscriber.com/message/devel@lists.fedoraproject.org/13259010.html Change to DSO-linking semantics of the compiler].


== Vantaggi per Fedora ==
== Vantaggi per Fedora ==
 
Come descritto in [[UnderstandingDSOLinkChange]], il nuovo comportamento predefinito ridurrà i potenziali problemi nel caso gli oggetti condivisi cambino le loro dipendenze.
As described in [[UnderstandingDSOLinkChange]], the new default behaviour will help address potential problems further down the line if shared objects ever change their dependencies.
 
== Documentazione ==
Description and example is up in [[UnderstandingDSOLinkChange]]


== Note di rilascio ==
== Note di rilascio ==
In Fedora 13, the the default behaviour of <code>ld</code> changed. The new linker behaviour will no longer automatically link dependencies of the specified libraries.  
In Fedora 13, il comportamento predefinito di <code>ld</code> è stato cambiato. Il nuovo comportamento predefinito del linker non collegerà più automaticamente le dipendenze delle librerie.


== Altre informazioni ==  
== Altre informazioni ==  
Per:
Per:
* Obbiettivi
* Obiettivi
* Test Plan
* Test Plan
* Esperienza Utente
* Esperienza Utente
* Dipendenze
* Dipendenze
* Progetto corrente
* Progetto corrente
* Documentazione
* Commenti e Discussioni  
* Commenti e Discussioni  
consultare la [[Features/KDE PulseAudio Integration | pagina originale]] di questo documento.
consultare la [[Features/ChangeInImplicitDSOLinking | pagina originale]] di questo documento.


[[Category:Italiano]]
[[Category:Italiano]]

Latest revision as of 22:44, 29 August 2010

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.