QUOTE (nanorobot @ Jul 8 2016, 03:57)

этот же самый проект с компилятором 5.3 от ланчпада - ошибок нет...
Я по историческим причинам использую ланчпад для МК и линаро для линукса.
Но еще одно преимущество использования таких сборок - это то, что все ошибки уже были кем-то замечены.
В данном случае компилятор собран с опцией --enable-linker-build-id. Я не уточнял, но опция как-то помогает с отладочной информацией.
Для починки компиляции нужно либо выключить это через опцию линкера " --build-id=none".
Или добавить такую секцию в скрипт:
QUOTE
.note.gnu.build-id :
{
. = ALIGN(4);
PROVIDE( _note = .);
*(.note.gnu.build-id)
. = ALIGN(4);
*(.note.gnu.build-id.*);
. = ALIGN(4);
PROVIDE( _enote = .);
} > flash
Не уверен, что ей действительно нужно находиться во флеше, но это нужно читать, что именно делает --enable-linker-build-id.