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 -- FreeBSD mailing list ([email protected]) http://www.freebsd.cz/listserv/listinfo/users-l
