Я пытаюсь построить ltrace для Android. Я пробовал несколько способов, чтобы никто не работал.
Мне удалось создать файл bin, компилирующий исходный код, используя crosstool-ng arm-unknown-linux-gnueabi и
./configure -host=arm-linux-gnueabi -target arm-linux-gnueabi CC=/path/to/toolchain/bin/arm-unknown-linux-gnueabi-gcc -prefix=/path/to/destination/folder
но когда я попытался выполнить этот bin на android, я получаю:
./ltrace: not found
Любые идеи?
Возможно, у вас неправильный путь к динамическому компоновщику внутри двоичного файла ltrace. На android компоновщик живет в /system/bin/linker. По умолчанию путь будет /bin/ld -linux.so. Путь к тому, чтобы либо порт ltrace работать с Android NDK, построить пример кода с Android NDK и выяснить все флаги сборки, ссылку статически, или просто найти рабочий предварительно встроенный ltrace. Я сейчас в процессе решения этой проблемы, опубликую, когда у меня есть результаты.
Похоже, исполняемый бит не установлен? Вы можете проверить, выполнив ls -l ltrace
и при необходимости установите его с помощью chmod a+x ltrace
.
noexec
(например,cat /etc/mtab
)