[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [linux_var] [solved] Errore in fase di linking



On Tue, Feb 12, 2008 at 09:57:14PM +0100, Aladino wrote:
> Penso di aver risolto aggiungendo a gcc l'opzione -m64 che genera codice
>  per architettura a 64 bit.
> Ma...
> non dovrebbe essere sottointeso su un compilatore installato su un amd64???
> 
> rimangono aperte due questioni:
> 
> 1) Cosa sono i .la?

Non ne ho idea. E' la prima volta che li sento...

> 2) come posso scrivere un makefile che riconosca su che tipo di
> architettura si trova e setta la flag -m64 o -m32 correttamente?

Effettivamente il default del gcc e' di compilare prediligendo la
compatibilita'. Gli eseguibili che generi sono compilati per un generico
x86.

Non esiste un modo banale per fare quello che dici, se non forse riconfigurare
gcc. Prova a scrivere gcc -v, ti dovrebbe dire qual e' il target di default.

Oppure fare come sulla debian, che se installi il pacchetto builder-pentium,
ti crea uno script gcc, che in realta' controlla delle variabili d'ambiente
per aggiungere parametri al gcc "vero".

Esiste anche il parametro -march che ti permette di selezionare per quale
tipo di processore ottimizzare. Con il gcc 4.2 hanno aggiunto -march=native
che dovrebbe fare al caso tuo.

Non ho mai provato quindi il condizionale e' d'obbligo.

Ciao,
  Diego.

-- 
Saluti / Regards

Diego Roversi | 
              | diegor at tiscalinet.it 

-- 
Per cancellare l'iscrizione: <talking-unsubscribe at ml.linuxvar.it>
Archivi web e configurazione: http://ml.linuxvar.it/ml/