Translation(s): English - Italiano

(!) ?Discussion


Informazioni di base

Il compilatore GCC rileva l'architettura sottostante del computer prima di produrre un binario specifico per quella macchina.

Su computer compatibili con Pentium un compilatore dovrebbe utilizzare una serie di istruzioni Pentium in modo predefinito, a meno che sia fornita una variazione a riga di comando per utilizzare istruzioni estese. Il compilatore GCC non si comporta in questo modo ma richiede l'eliminazione della serie di istruzioni estese, in quanto sono incluse automaticamente; senza questa operazione i file binari prodotti possono risultare non portabili, in quanto non tutti i processori compatibili con Pentium supportano tali istruzioni.

Al momento quasi tutti i pacchetti sono purtroppo dotati di uno script di compilazione che può produrre un binario non generico o non portabile, giacché non è compresa la commutazione per l'architettua i586.

Il problema può verificarsi con qualsiasi pacchetto compilato con la suite di compilazione GNU C.

Il trucco pentium-builder

È stato implementato un espediente, nella forma del wrapper pentium-builder, in modo che GCC si comporti in un modo più appropriato; questo wrapper forza l'attivazione dell'architettura i586 sul compilatore. Tuttavia i binari possono ancora essere non portabili a causa di implementazioni specifiche per altre macchine utilizzate dal compilatore.