*дерьмо *байтоебля
Отловил баг с переполнением буфера на один байт, когда программа собранная gcc нормально работала, а собранная шлангом в зависимости от оптимизации нормально работала, криво работала или сегфолтилась.
От скуки собрал llvm+clang для кросскомпиляции под arm. Собрало фирмварь для stm32 с первой попытки, с -Os получилось процентов на 15 жирнее того, что сделал гцц. Работоспособность еще не проверял, though.
Алсо, crossdev'у не хватает умения собирать кросс-шланг, а когда собирал руками - забыл сказать --enable-shared --with-optimize-options=opimized, в итоге make install высрал 3.7 Гб.
Есть такой быдлокод: http://paste.pocoo.org/show/530725/
Скастовал на него gcc -m32 -O0, дизасмлю и вижу, что после вызова printf стоит тупо ноп и выход из main, даже goto проебалось, алсо вызов f() делает call по адресу куска вычисления code_size, хуй знает почему - т.е. все тупо зацикливается.
Попробовал тот же быдлокод скормить шлангу - получил _code_start = 0x01 и соответственно сегфолт. От исходной асмовставки не нашел даже нопа.
ЧЯДНТ ЧЯДНТ