Мне попался точно такой же вопрос, на который я пытался найти ответ. А именно, где / какой документ что-то говорит или определяет ARM ABI, используемый в LINUX.
Следующий документ - самый близкий к моему ответу
ARM GNU/Linux Application Binary Interface Supplement
это от CodeSourcery и в зашифрованном виде в его резюме лежит, на мой взгляд, ответ на вопрос выше, а именно:
Application Binary Interface (ABI) for the ARM Architecture
(документ, опубликованный ARM Ltd) определяет различные аспекты компиляции и связи, необходимые для взаимодействия между цепями инструментов, используемыми для архитектуры ARM.
Однако, поскольку ABI, опубликованный в этом документе, разработан без ссылки на конкретную операционную систему, существуют определенные аспекты, которые остаются неуказанными.
Очевидно, документ CodeSourcery предназначен для дополнения ABI для архитектуры ARM, определяя решения, принимаемые для этих аспектов при использовании операционной системы GNU / Linux.
Я предоставляю одну ссылку на этот документ (другие можно найти, выполнив поиск по названию документа):
http://www.boost.org/doc/libs/1_51_0_beta1/libs/context/doc/pdf/arm-linux-aapcs.pdf
Кажется, что стандарт, определяющий ARM ABI в LINUX, не существовал, и снова кажется, что документ CodeSourcery является попыткой охватить этот аспект.