Portál AbcLinuxu, 16. července 2025 20:59


Dotaz: Optimalizace .src.rpm

6.6.2003 21:24 Tomáš Vitha | skóre: 18
Optimalizace .src.rpm
Přečteno: 124×
Odpovědět | Admin
Je možné nějakým způsobem předat kompilátoru parametry pro optimalizaci kódu
(např. -march=athlon-xp) při kompilaci ze zdrojových balíčků ? Tedy do příkazu rpmbuild --rebuild ? Dík
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

6.6.2003 22:16 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Optimalizace .src.rpm
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jedna věc je změna architektury (kód zkompilovaný s -march=athlon-xp nemusí jet na 386), což se řeší optionem --target, RPM ovšem pro Intel zná jen i?86 a athlon. V každém případě bych ale použil --target=athlon. Kromě toho je možné předefinovat optflags rpmbuild --define 'optflags -O9 -march=exaggerator3002' nemusí to mít pořadovaný vliv na balíčky nepoužívající stanardní autoconf/automake build systém a řešící kompilaci nějak po svém. V takovém případě občas pomůže export CFLAGS="-O9 -march=exaggerator3002 ..." před pouštěním RPM, ale spíš ne, protože to vyjde na stejno. Varování: Toto je špinavá metoda a vznikají takto nereprodukovatelné balíčky. Když to nejde přes --target, doporučuji raději nainstalovat .src.rpm, zasáhnout do .spec souboru, změnit v něm požadované věci natvrdo a nechat si kromě binárky vyrobit ,svůj` .src.rpm (-ba). Pak se člověk nediví, jak to minule buildnul...
6.6.2003 23:32 Tomáš Vitha | skóre: 18
Rozbalit Rozbalit vše Optimalizace .src.rpm
Moc dík. Mohl bys mi ještě prosím vysvětlit, co znamená parametr "-O9" a co je exaggerator3002 ? Dík
7.6.2003 00:01 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Optimalizace .src.rpm
-O9 je absurdně vysoká hodnota úrovně optimalizace (-O3 je u gcc normálně maximum a vyšší hodnoty už nemají žádný efekt) -- ale to předpokládám víš, když víš, co je -march= a -mcpu= (?) exaggerator3002 je metasyntaktická proměnná, něco jako foo nebo bar -- s tím, že jde o něco naprosto nového, výkonného, skvělého, etc. v -march=athlon-xp bych nevkládal žádné velké naděje, mně např. na thunderbirdu nejlíp běhají programy kompilované s -march=i686...
7.6.2003 00:16 Tomáš Vitha | skóre: 18
Rozbalit Rozbalit vše Optimalizace .src.rpm
No zas tak moc do té kompilace nevidím. Akorát mám za sebou instalaci Gentoo Linuxu a tam jsem něco odkoukal. :-) "-march=" je plná optimalizace pro daný procesor, "-mcpu=" je optimalizace se zachováním zpětné kompatibility. Správně ?
7.6.2003 00:24 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Optimalizace .src.rpm
ano. -march určuje, na čem to vůbec pojede, a -mcpu, na čem to [teoreticky] pojede nejrychleji.
7.6.2003 00:37 Tomáš Vitha | skóre: 18
Rozbalit Rozbalit vše Optimalizace .src.rpm
A musí se uvádět oba parametry najednou, nebo třeba jenom -march ?
7.6.2003 08:46 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Optimalizace .src.rpm
info gcc ;-) -march automaticky znamená příslušné -mcpu
5.4.2008 20:47 petr péro
Rozbalit Rozbalit vše Re: Optimalizace .src.rpm
co to je metasyntaktická proměnná?

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.