Собрал свой кросскомпилятор. Тестирую его и обычный gcc на этом коде
#include <stdio.h> // Или вообще любой хидер из libc
#if defined __OPTIMIZE__
#error optimization
#endif
#if defined __OPTIMIZE_SIZE__
#error optimization for size
#endif
int main ()
{
return 0;
}
$ arm-unknow-linux-uclibcgnueabi-gcc main.c
main.c:8:6: error: #error optimization for size
$ arm-unknow-linux-uclibcgnueabi-gcc main.c -O0
main.c:8:6: error: #error optimization for size
$ arm-unknow-linux-uclibcgnueabi-gcc main.c -O1
main.c:4:6: error: #error optimization
main.c:8:6: error: #error optimization for size
$ gcc main.c
Ничего
$ gcc main.c -O1
main.c:4:6: error: #error optimization
arm-unknow-linux-uclibcgnueabi-gcc - версии 4.4.5 gcc - версии 4.4.4
Что мне не нравится? Какого-то хрена для кросскомпилятора включена по-умолчанию оптимизация по размеру. Собственно и вопрос, как этого не допустить?