Вот читаю статейки всякие про кросс-компиляцию под арм, встречаю разные таргеты. Приведу несколько:
armv6j-hardfloat-linux-gnueabi
armv7a-hardfloat-linux-gnueabi
aarch64-unknown-linux-gnu
arm-none-linux-uclibc
Ни для одного из четырёх кусков таргета я так и не смог выработать стандартное правило образования.
Первый: архитектура. arm - понятно, v6/v7 - тоже понятно: что-то про версию камня и набор инструкций (?), а что за буковки дальше идут - a,j? Где про это можно почитать? И почему после aarch64 (это же то же самое, что и arm, только 64-битное) не идёт ни vX, ни буковка? Это я не встречал, или не положено?
Второй: дробные числа. Это более-менее понятно: hardfloat - есть FPU, softfloat - нету, unknown/none - дефолт, softfloat. Верно?
Третий: что и при каких условиях там может быть, кроме linux?
Четвёртый: используемая библиотека? gnu - glibc, uclibc - =//=, а gnueabi - это что и чем от gnu отличается?