Jump to content

    

Проблема с версией EABI

Компилятор выдает сообщение: citapi.o is compiled for EABI versios 2, whereas AP.elf is compiled for versoin 0.

Исходников файла citapi.c нет.

Можно ли как-то переконвертировать объектный файл, чтобы он стал версии 0 ?

Share this post


Link to post
Share on other sites
Компилятор выдает сообщение: citapi.o is compiled for EABI versios 2, whereas AP.elf is compiled for versoin 0.

Исходников файла citapi.c нет.

Можно ли как-то переконвертировать объектный файл, чтобы он стал версии 0 ?

А если не секрет какой компилятор? Утверждать за EABI version 2 не берусь, но допустим в GNUEABI сейчас (то, что в GCC, EABI version 4) то там механизм syscall ов для Linux изменен, и все параметры передаются с 64битным выравниванием.

 

Чтобы стало 0 можно конечно изменить тэг в объектнике, но вопрос в том как это на поведение скажется..

Share this post


Link to post
Share on other sites
Компилятор выдает сообщение: citapi.o is compiled for EABI versios 2, whereas AP.elf is compiled for versoin 0.

Исходников файла citapi.c нет.

Можно ли как-то переконвертировать объектный файл, чтобы он стал версии 0 ?

Нельзя.

 

Версия EABI зависит от компиллятора. Разные версии EABI не совместимы друг с другом в общем случае. Для линковки нужны ВСЕ объектники и бибилиотеки, в том числе динамические, одной версии EABI.

Если используется ОС, то и ядро должно быть той-же версии EABI.

 

Для GCC-4 в ядре Linux есть возможность использовать EABI + старый вариант ABI для совместимости, но лично не проверял на работоспособность.

Edited by amw

Share this post


Link to post
Share on other sites

Спасибо за ответ!

Компилировался проэкт с помощю GCC 3.3.1, а вот объектники получили с помощю ADS 1.2

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this