Как вы компилируете? Затмение или командная строка? У меня была похожая проблема с использованием Eclipse, и я обнаружил, что семейство процессоров в Eclipse было «пустым». Это привело к тому, что ассемблер не понимает вывод компилятора, аналогично описанным выше симптомам.
Кросс-компиляторы ничем не отличаются от обычных компиляторов:
- выведенный двоичный файл может быть несовместим с компьютером сборки (может быть для нескольких платформ)
- компилятор может выводить много разных кодов платформы
В случае GCC он может быть загружен одним или несколькими семействами процессоров. GCC, который поставляется с Cygwin, довольно ограничен (i686); в Linux у вас будет больше выбора. Я полагаю, вы задаете другой вопрос о том, как настроить кросс-компиляцию, вам нужна помощь.