objdump дизассемблирует исполняемый файл, скомпилированный с -marm как инструкции для большого пальца

Я скомпилировал некоторый код с помощью gcc -marm, а затем, когда я пытаюсь разобрать его с помощью objdump, половина инструкций составляет 16 бит, так что я предполагаю, что это инструкции большого пальца. Зачем?

Я видел этот вопрос: objdump и ARM против большого пальца

Поэтому я попытался разобрать его с помощью objdump -marm -b binary -D, однако разборка кажется очень странной...

Как я могу узнать, является ли это gcc, который использовал инструкции thumb, несмотря на параметр -marm, или это objdump, который глючит?

РЕДАКТИРОВАТЬ: вот часть разборки с 16-битными инструкциями:

Разборка раздела.init:

00008304 <_init>: 8304: b508 push {r3, lr}
8306: f000 f849 bl 839c
830a: BF00 нет
830c: bd08 pop {r3, pc}

0 ответов

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