Mah, senti, prendi con le molle quello che ti dirò perché non ho mai approfondito più di tanto..Mi accodo a questo thread per chiedere lumi.
Sono anni che compilo il kernel per il mio PC, ma c'e' una cosa che non ho mai capito: adesso che ho un Sempron 3200 (a 64 bit), oltre a mettere l'opzione k8 nella configurazione del kernel, per passare la gcc l'opzione -march=k8, cosa devo fare? Devo mettere a mano
-march=k8
alla riga CFLAGS del Makefile principale?
Lo stesso per abilitare le sse3? (-msse3).
Dato che man gcc dice per k8:
k8, opteron, athlon64, athlon-fx
AMD K8 core based CPUs with x86-64 instruction set
support. (This supersets MMX, SSE, SSE2, 3dNOW!,
enhanced 3dNOW! and 64-bit instruction set exten-
sions.)
visto che io compilo e ho librerie a 32 bit uso il seguente alias per il configure:
alias konf='CFLAGS='\''-mfpmath=sse -msse2 -msse3 -m3dnow -march=athlon-xp -pipe -O2'\'' CXXFLAGS='\''-mfpmath=sse -msse2 -msse3 -m3dnow -march=athlon-xp -pipe -O2'\'' ./configure'
Qualche flag è ridondante, ad esempio -m3dnow dovrebbe essere incluso nell'athlon-xp, ma io ce l'ho messo ugualmente
man gcc, se hai pazienza di leggerlo e di documentarti (io l'ho avuta fino a un certo punto), ti dice molte cose...
Per i programmini elementari scritti da me uso un simile alias per gcc...
Se devo passare altre opzioni di ottimizzazione, mettiamo un -O3, faccio precedere il CFLAGS al ./configure, i Makefile li modifico a mano solo se devo (all'inizio lo facevo, toglievo a mano ad esempio il flag -g, poi mi sono fatto uno scriptino per levarlo automaticamente ricorsivamente, poi ho scoperto make install-strip e poi strip...


