Разница между armeabi и armeabi-v7a

Насколько я могу судить по документам, разница между двумя поддерживаемыми вариантами архитектуры ARM в Android NDK заключается только в наборе поддерживаемых инструкций CPU. Это действительно так? Разве нет различий в вызовах условных обозначений или последовательности системных вызовов или что-то еще?

Мне интересно, что произойдет, если я скомпилирую модуль в объектный файл ARM (с компилятором, отличным от NDK – Free Pascal), указав ARMv6 в качестве архитектуры, а затем связать его с обеими библиотеками armeabi и armeabi-v7a. Биты FPC не должны выполнять ни системные вызовы, ни вызовы Java, кроме как через мой собственный интерфейс на основе C.

EDIT: всемирная библиотека Hello, скомпилированная с FPC для ARM, ссылки и работает под эмулятором ARMv7a.

Solutions Collecting From Web of "Разница между armeabi и armeabi-v7a"

Вы определенно можете запускать разделяемую библиотеку armeabi на v7, и вы можете вызывать ее экспортированные функции из другого модуля. Итак, чтобы быть в безопасности, я бы создал отдельный .so файл из вашего кода Pascal, придерживаясь armeabi (возможно, с некоторыми обертками C / C ++) и использую эту общую библиотеку с вашими библиотеками armeabi и armeabi-v7a. Самый простой способ загрузить все в правильном порядке – это использовать

 System.loadLibrary("pascal"); // armeabi System.loadLibrary("c++"); // the platform will choose armeabi or armeabi-v7a