Странная штука:
Если компоновать программу с библиотекой так:
arm-elf-gcc -Wl,-EB -Wl,--gc-sections -Wl,-static -Wl,-nostdlib -nostartfiles -L./lib -Ttarget.ld -ltarget -Wl,z -Wl,def
Проект собирается, но переменные, которые описаны extern, но нигде не определены компоновщик вставляет в .elf как U (undefined) . И даже не выдает замечаний. Это нехорошо.
Если собирать:
arm-elf-ld -EB --gc-sections -static -nostdlib -nostartfiles -L./lib -Ttarget.ld -ltarget
Не находит ф-и sin(), atan(), которая точно есть в libtarget.a (отмечена буквой T в этой библиотеке)
Где собака порылась? Пропадаю!