суббота, 25 мая 2013 г.

the full compatible toolchain for STM32F4xx in Gentoo(Полностью совместимая среда компиляции для STM32Fxx в Gentoo) - исправления

По тем командам которые были описаны в статье про toolchain для STM32F407 (с поддержкой плавающей точки) toolchain можно было собрать, но с небольшими исправлениями. Теперь после моей продолжительной работы было сделано так чтобы при этой сборке не возникало проблем. Для тех кому интересно, что же изменилось и почему добро пожаловать под кат.

Так вот. Изначальной проблемой при сборке было то что у toolchain было то, что он не мог собрать GCC т.к. не хватало флагов режима thumb.
Этот режим является основным для библиотеки newlib в нашем toolchain , поэтому и возникает проблема при сборке, т.к. не хватает флага --with-mode=thumb.
Итак, всё началось собственно с ошибки в bugs.gentoo.org. Эту ошибку заводил не я и судя по дате,  суслик сдох давно и успел порядком разложится, местами до костей ей никто и не занимался. Попробовав патч из неё я собрал toolchain себе. Однако в процессе разговора с другом понял, что это не вариант и как только появилось немного свободного времени написал в эту ошибку сообщение о том, что даже на новых GCC ничего не работает.
В процессе который продлился неделю, я таки добился своего.
И теперь всё собирается замечательно, благодаря моему исправлению которое было написано совместно с разработчиками toolchain и gentoo.ru .
Особое спасибо Vapier (aka SpanKY), за то, что принял моё исправление и добавил в основную ветку portage:

nis@jane ~ $ cat /usr/portage/eclass/toolchain.eclass | grep thumb
                # Make default mode thumb for microcontroller classes #418209
                [[ ${arm_arch} == *-m ]] && confgcc+=( --with-mode=thumb )

Вот так. На этом я заканчиваю своё короткое, полное эмоций повествование. Данный пример показывает насколько важно в своей деятельности быть открытым с сообществом.