Как загрузить код ARM A32 в ELF с физическим адресом> 32 бит

У меня есть программа A32, которую я хочу разместить в>32-битном физическом адресном пространстве, так как я компилирую для разработки с поддержкой LPAE. У меня есть скрипт компоновщика, который делает что-то вроде ".text: AT(0x100000000)", который отлично работает в потоке A64, но в потоке A32 бит 32 обрезается, и readelf говорит, что это физический адрес 0. Я использую компоновщик GNU.

Есть ли возможность включить>32-разрядные физические адреса в компоновщике LDU A32 GNU или нужно использовать компоновщик A64? Когда я пытаюсь использовать компоновщик A64, я получаю ошибку сегментации, предположительно потому, что это образ A32.

Редактировать:

Я смог заставить компоновщик A64 не работать с segfault, выполнив "-m armelf", но физический адрес все еще усекается, когда я выполняю readelf.

0 ответов

Другие вопросы по тегам