Опции и настройка компиляции
Гость 19 ноября, 2010 - 02:38
Доброго всем.
Вопрос первостепенный для любого гентушника. В Gentoo handbook и gcc.gnu.org/onlinedocs/ ничего конкретного найти не смог.
Где и как можно узнавать, какие опции (прежде всего CFLAGS в make.conf и /etc/env.d, а также ACCEPT_KEYWORDS, а также для ручного компилирования ядра Линукс) нужно выставлять для того или иного конкретного процессора?
Раньше по крохам выцеплял поиском по Интернету и чаще второстепенные и даже противоречивые (например, -march=amdfam10 и -march=native) упоминания об особенностях компиляции для того или иного процессора.
Может есть какая-то сводная страница для всех процессоров по данному вопросу?
»
- Для комментирования войдите или зарегистрируйтесь
есть
http://en.gentoo-wiki.com/wiki/Safe_Cflags/Intel а вообще -march=native -O3 -pipe более чем достаточно
vmustik
-O3
хорош только наAMD
AMD GCC Quick Reference Guide
очень подробно для современных AMD процов. Нужна общая сводка для всех процов. Может еще кому сгодится. Где wiki.gentoo.ru? В студию.
Добавил ссылку в статью [url=http://ru.gentoo-wiki.com/wiki/HOWTO_Использование_CFLAGS_для_оптимизации_собранных_программ] HOWTO Использование CFLAGS для оптимизации собранных программ [/url]
GCC
За версиями GCC не угнаться?
стесняюсь спросить... вы
стесняюсь спросить...
вы девелопер или очередной граблешагающий?
или машинка древняя?
для остальных, как написано простым нерусским языком,
C[XX]FLAGS="-O2 -pipe -march=native -mtune=native"
что-то добрый я сегодня ....
lerys, читаешь мои мысли
lerys, читаешь мои мысли :)
+1
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
Chegeware написал(а): Раньше
поделишся своими измышлениями в противоречии между
-march=amdfam10
и-march=native
, а то мне интересно - ты только буковки в опциях сравниваешь или все же читаешь доки на опции и это просто я чего-то в жизни не понимаю? )))Chegeware написал(а): Раньше
Касательно "сводной таблицы" вам уже ответили, а вот "об особенностях компиляции для того или иного процессора" расклад такой - софт-флаги GCC лучше пока не трогайте, т.к. для этого нужно понимание действия каждой такой опции, а у вас этого нет (иначе, подобные вопросы просто не возникли б). Насчёт же хардверных флагов - либо, не мудрствуя лукаво, просто оставьте определение возможностей вашего камня самому GCC посредством флага native, либо (в зависимости от камня и версии GCC, он далеко не всегда знает обо всех возможностях) помочь ему, выполнив gcc -march=native -Q --help=target. Вывод вам покажет, что именно GCC намерен применять в данной конкретной конфигуре, затем почитайте доку на камень, и обнаруженные "неучтёнки" просто добавите к уже имеющимся флагам, сверяясь с тем, как это предписывает сделать дока GCC
Мы тоже не всего читали Шнитке!.. © В. Вишневский
Ответ
Мой сборный ответ.
Признаю себя отсталым "граблешагающим" гентушником, плохо разбирающиймся в харде и в этой связи, мало вникающего в доки. Но рад тому, что мне не придется "краснеть" за категорию "виндузятника". Генту ставлю раз в 2-3 года, обновляю только некоторые пакеты вручную, через .configure; make install.
Кроме отсталости от особенностей процессоров, ощущается нарастающая отсталость от появления новых версий gcc.
Мне повезло, что нашел (см. выше) четкое указание на опции компиляции для моего AMD.
И даже сделал вклад в вики (и en тоже).
Братцы-впередишагающие, оставляйте в вики свои познания, не скупитесь. Воздастся. Лучше зайти в вики, дописать статью (если нет) и ткунь остающего в статью вики, чем поучать на форуме. Об этом собственно и была тема.
Всем спасибо за -march=native
Еще
Более полный ответ дает поиск в вики (en - лучще, русскоязычные отстают) по образцу "CFLAGS"
Если автору не трудно, допишите в статью о софт-флагах и хардверных флагов GCC и о gcc -march=native -Q --help=target
Повторюсь - воздастся.
Раз уж Вы такие продвинутые гентушники, а основа Генту - это компиляция, поэтому основные статьи нужно поддерживать в актуальном состоянии.
Спасибо.