objdump не покажет мне шестнадцатеричное число длинной инструкции на 64 бита.
objdump -d myobj.o
вот одна из строк:
3: 48 bb 2f 2f 62 69 6e movabs $0x68732f6e69622f2f,%rbx
шестнадцатеричное число инструкции убегает после первых 7 байтов mov инструкции, даже при том, что существует 8 байтов в операнде.
То, что я хочу, чтобы это показало, было бы:
3: 48 bb 2f 2f 62 69 6e 2f 73 68 movabs $0x68732f6e69622f2f,%rbx
Я знаю, что его легкое для выведения остальной части шестнадцатеричного числа путем рассмотрения фактической инструкции, но я просто хочу знать, как я могу заставить ее показывать всему шестнадцатеричному числу?
в objdump странице справочника говорится для использования - insn-ширина:
$ objdump -d a.out | grep movabs
40053e: 48 b8 45 23 12 90 78 movabs $0x1234567890122345,%rax
40054c: 48 b8 45 33 12 90 73 movabs $0x1334567390123345,%rax
$ objdump --insn-width=10 -d a.out | grep movabs
40053e: 48 b8 45 23 12 90 78 56 34 12 movabs $0x1234567890122345,%rax
40054c: 48 b8 45 33 12 90 73 56 34 13 movabs $0x1334567390123345,%rax