Ассемблерный код для встроенной версии Neon

Я новичок в программировании Neon Assembly, я разработал Neon Intrinsic версию алгоритма обнаружения границ видео, что привело к увеличению производительности в 2 раза. Теперь я хотел бы попробовать сборку Neon — я хотел бы просмотреть код сборки, сгенерированный компилятором для Neon Intrinsic, и попробовать свою собственную сборку Neon. Мой вопрос: как просмотреть код сборки, сгенерированный компилятором для оптимизированного кода Neon Intrinsic, в Android NDK?

Когда я пытался

objdump -d kalifilters-intrinsics.o

kalifilters-intrinsics.o: формат файла elf32-little

objdump: не удается разобрать для НЕИЗВЕСТНОЙ архитектуры!

Я знаю об ошибке objdump, поскольку объектный файл предназначен для архитектуры руки. Пожалуйста, дайте мне знать об инструменте objdump, связанном с рукой!


person Kaliuday    schedule 30.06.2014    source источник


Ответы (2)


NDK включает в себя двоичные файлы objdump для конкретной архитектуры:

$ find ./ -iname \*objdump\*|grep arm
./toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/arm-linux-android
eabi/bin/objdump.exe
./toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/arm-linux-and
roideabi-objdump.exe
./toolchains/arm-linux-androideabi-4.8/prebuilt/windows-x86_64/arm-linux-android
eabi/bin/objdump.exe
./toolchains/arm-linux-androideabi-4.8/prebuilt/windows-x86_64/bin/arm-linux-and
roideabi-objdump.exe
person HHK    schedule 30.06.2014
comment
@ Hans Kratz Спасибо за ответ, он решил мою проблему. - person Kaliuday; 01.07.2014

Я рекомендую IDA Pro для этой цели:

https://www.hex-rays.com/products/ida/

Просто перетащите файл .o/.so в IDA, и вы получите дизассемблированный во вполне читаемом формате.

Просто нет ничего лучше этого. Также есть версия для Linux и OS X.

person Jake 'Alquimista' LEE    schedule 30.06.2014
comment
Здорово, что они поддерживают так много вариантов ARM. Пробная версия загрузила мой ARMv7 .so, без проблем. - person ahcox; 09.02.2015