Изменение CFLAGS для отдельных объектных файлов
mittorn 14 ноября, 2013 - 04:23
Назркла такая идея.
Как известно, neon оптимизация несовместима с thumb2 кодом. Как результат - все прораммы, использующие neon оптимизацию (обычно они имеют соответствующий use-флаг) обламывают сборку на ошибках ассемблера, если включен -mthumb. Конечно как решение - прописать CFLAGS без -mhumb в /etc/portage/env. Но оно костётся всех файлов пакета, а не только нескольким из них проблемным. В результате во всём ffmpeg к примеру дання оптимизация не используется.
Возможно ли как-то сделать, чтобы при сбое компиляции gcc отключал -mthumb и пытался собрать файл снова? Ну или какой-т другой спопоб обхода таких ошибок?
»
- Для комментирования войдите или зарегистрируйтесь
О таких ошибках надо говорить
О таких ошибках надо говорить с апстримом пакета, а не велосипедить самому. Потому что без четкого понимания, что случится в объектном коде и как это повлияет на пакет в целом такие эксперименты чреваты
Нейтральность - высшее достижение сознания!
Большинство пакетов не
Большинство пакетов не расчитаны, что при сборке будет -mthumb в CFLAGS. Если нет ассемблерных вставок с neon, то всё работает. Единственное, где реально возникают проблемы - webkit (он почему-то thumb сам включает, даже если в env выключить).
Если действительно возникнут проблемы, можно пересобрать без -mthumb, но пока что не встречал странных ошибок в бинарниках.
Локальный оверлей растёт
Попробуй что-то около: #
Попробуй что-то около:
т.е. глобально, в make.conf ты свой флаг включаешь, но локально указываешь portage не использовать его с пакетом gcc (и другими какими захочешь).
смотрим в книгу, видим ... ?
смотрим в книгу, видим ... ? :)
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 ;)
Ааа, местный тролль слепнога,
Ааа, местный тролль слепнога, годы идут а ты всё так и не позврослел, бедняга(
Вообще-то данный способ позволяет норамально:
а) либо включить CFLAGS глобально, выключить для перечисленных пакетов;
б) либо выключить CFLAGS глобально, включить для перечисленных пакетов.
Но тебе то наплевать на смысл, не так ли? (вопрос риторический, если не понял это значит что отвечать не нужно).
1. Внимательно читаем
1. Внимательно читаем топик.
2. Думаем.
3. Если не достигли просветления, переходим к пункту 1.
CFLAGS для отдельного пакета
CFLAGS для отдельного пакета я и так могу изменить.
Локальный оверлей растёт