make.conf

Dan Lukes dan at obluda.cz
Sun Jun 23 17:17:23 CEST 2013


On 06/23/13 13:26, Jan Dušátko:
> Znate nekdo zpusob nastaveni make.conf tak, abych pro veci v portech pouzil
> gcc 4.9 s nastavenim CPU napr. corei7-avx2 a pro kernel starsi gcc 4.2 s
> nastavenim CPU=core2 ?

make.conf je obecne urcen spis pro nastavovani globalnich parametru, 
nikoliv veci prilis parametrizovanych a tudiz v ruznych situacich ruznych.

Nicmene, pri prekladu kernelu a modulu se nepouzije promenna CFLAGS 
nybrz COPTFLAGS a pokud je soucasne nadefinovana promenna 
NO_CPU_COPTFLAGS tak se k COPTFLAGS automaticky nepridaji nastaveni pro 
konkretni procesor zalozene na architekture (a muzes respektive musis si 
je tam tedy dat sam). Tim se otevira moznost mit pro preklad kernelu a 
modulu separatni nastaveni flagu, ktere das, vcetne nastaveni pro 
procesor, do COPTFLAGS, zatimco flagy pro preklad ostatnich veci se 
nastavi beznym zpusobem

Tohle cele se ale tyka jen prekladu C/CPP zdrojaku. Assemblerovy kod a 
jeho preklad nastaveni CFLAGS ani COPTFLAGS neovlivni. A ani jakekoliv 
jin enastaveni arcgitektury nebo neceho jineho. Assemblerovske zdrojaky 
se proste prekladaji bez moznosti ovlivnit optiony s jakymi se to bude 
delat.

Kompilator samotny pak urcuje promenna CC kterou si pro preklad nastav 
vzdy na ten kompilator, ktery je podle tebe v dany chvili potreba.

> Pripadne, mate zkusenost s kompilaci kernelu pod gcc 4.9 ?

Ne, ale pamatuju si, ze nekde v handbooku ci kde je pouziti vlastnich 
nastaveni optimalizace pri prekladu jadra povazovano za neco co delas 
"na vlastni nebezpeci". Muze dojit ke vzniku race-condition zpusobenych 
nevhodnou optimalizaci pri prekladu a jadro pak muze nahodne padat ci 
vykazovat jine "podivne" chovani.

Takze do tohoto dobrodruzstvi jsem se nikdy nepustil.

Dan





More information about the Users-l mailing list