-
- Эхх... А я, наоборот, включаю эту фигню, -flto=auto (авто - чтобы
оптимизатор сориентировался по количетсву доступных ядер ЦП хоста
при компиляции), чтобы повысить качество кода. Писал уже не раз,
что LTO позволяет быстрее находить ошибки, по крайней мере на свежих GCC, начиная с 10 и
выше. На 9й версии с CortexM3 было чуть неоднозначно. Nikolay_Po(127 знак., 25.01.2024 15:56)
- Пофиксить в чужом коде - это исправить чужой код? Там работы ... - AlexBi(25.01.2024 17:07)
- Ну, я для прикола, скомпилировал OpenOCD с -O3 -flto.
Предупреждений штук 50 пришлось поправить. Часто встречалось, что,
размер буфера был определён меньше, чем возможный размер вносимых в
буфер данных. Собственно, предпосылки к глюкам. - Nikolay_Po(26.01.2024 14:16)
- Это у вас какие-то умные предупреждения. Я, после включения всех
предупреждений, чаще вижу "сравнение знакового и беззнакового",
"запись в переменную меньшего размера", "использование
зарезервированных имен", "функция без прототипа", "структуры с
дырками", "свич без дефаулта или не все енумы" и т.д. Исправлять
все это рука не поднимается, боюсь увязнуть и что-то случайно
испортить. - AlexBi(26.01.2024 17:13)
- Ну, значит код самого OpenOCD был достаточно чистым. Править приходилось, в основном, подклюаемые библиотеки от неособо щепитильных разработчиков. Если не исправлять - есть риск оставить глюки при исользовании полной оптимизации. LTO вместе с O3 используют любые послабления. И если что-то может пойти не так и окажется выгодно для оптимизации - то пойдёт не так. - Nikolay_Po(26.01.2024 18:15)
- Это у вас какие-то умные предупреждения. Я, после включения всех
предупреждений, чаще вижу "сравнение знакового и беззнакового",
"запись в переменную меньшего размера", "использование
зарезервированных имен", "функция без прототипа", "структуры с
дырками", "свич без дефаулта или не все енумы" и т.д. Исправлять
все это рука не поднимается, боюсь увязнуть и что-то случайно
испортить. - AlexBi(26.01.2024 17:13)
- Ну, я для прикола, скомпилировал OpenOCD с -O3 -flto.
Предупреждений штук 50 пришлось поправить. Часто встречалось, что,
размер буфера был определён меньше, чем возможный размер вносимых в
буфер данных. Собственно, предпосылки к глюкам. - Nikolay_Po(26.01.2024 14:16)
- Пофиксить в чужом коде - это исправить чужой код? Там работы ... - AlexBi(25.01.2024 17:07)
- Эхх... А я, наоборот, включаю эту фигню, -flto=auto (авто - чтобы
оптимизатор сориентировался по количетсву доступных ядер ЦП хоста
при компиляции), чтобы повысить качество кода. Писал уже не раз,
что LTO позволяет быстрее находить ошибки, по крайней мере на свежих GCC, начиная с 10 и
выше. На 9й версии с CortexM3 было чуть неоднозначно. Nikolay_Po(127 знак., 25.01.2024 15:56)