2019-04-25

eddy_em: (Default)
2019-04-25 09:15 am

Вот это поворот...

Помаленьку делаю рефакторинг эмулятора PL2303 на STM32F042. Для начала пофиксил баг с отправлением большого буфера. И наткнулся на непонятную штуку: если собрать после make clean, получаю:
   text    data     bss     dec     hex filename
   5548      16    1560    7124    1bd4 mk/pl2303.elf

Теперь просто делаем touch на какой-нибудь сишный файл и опять запускаем make:
   text    data     bss     dec     hex filename
   5548      16    1556    7120    1bd0 mk/pl2303.elf

Что за чудеса в решете? (до этого у меня еще и менялись размеры elf'а и выходного hex'а!)
qt-creator что ли шутит так? (пришлось, кстати, откатиться на 4.6.2, т.к. в 4.8.0. ничего не работает).
P.S. Вот, просто сохранил, поменяв константу, потом поменял обратно и получил:
   text    data     bss     dec     hex filename
   6148      16    1556    7720    1e28 mk/pl2303.elf

UPD Такое впечатление, что у gcc какой-то ccache не обновляется... (хотя, по идее, ccache должно только с emerge работать). Черт подери! Оба бинарника, если прошивать в МК, работают! Несмотря на разницу в размере!!! Да откуда ж эта чертовщина берется-то???