скомпилировать 32-битную программу на aarch64 через termux clang - PullRequest
0 голосов
/ 03 мая 2018

Я пытаюсь скомпилировать простую тестовую программу на моем телефоне ARMv8-A через termux, чтобы убедиться, что она работает на телефонах ARMv8-R (только 32-разрядная версия), но clang продолжает пытаться подключиться к 64-разрядной версии. версии crtbegin_dynamic.o и crtend_android.o.

Я обнаружил эту закрытую проблему в пакетах termux , которая предписывала мне установить ndk-multilib и lld, и я даже заменил binutils ld на символическую ссылку на ld.lld (сохраняя резервную копию binutils) конечно) но я до сих пор не уверен, какие аргументы дать лязгать.

clang -m32 -L$PREFIX/arm-linux-androideabi/lib -L/system/lib -otest test.c
/data/data/com.termux/files/usr/bin/ld: error: /data/data/com.termux/files/usr/bin/../lib/crtbegin_dynamic.o is incompatible with armelf_linux_eabi
/data/data/com.termux/files/usr/bin/ld: error: /data/data/com.termux/files/usr/bin/../lib/crtend_android.o is incompatible with armelf_linux_eabi
clang-6.0: error: linker command failed with exit code 1 (use -v to see invocation)

(вывод -v просто показывает, что clang явно указывает ld использовать их)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...