Он раздражает меня каждый раз, когда я использую -XX:+PrintAssembly
с Hotspot и должен прочитать ужасный синтаксис AT & T.
Есть ли способ сказать ему использовать синтаксис Intel?
Он раздражает меня каждый раз, когда я использую -XX:+PrintAssembly
с Hotspot и должен прочитать ужасный синтаксис AT & T.
Есть ли способ сказать ему использовать синтаксис Intel?
Все, что вам нужно, это разобрать некоторые параметры на dis-asm.h и код binutils
Для Intel Asm (который я также предпочитаю) просто добавьте следующие
-XX:PrintAssemblyOptions=intel
Если вам нужно объединить опции, сделайте это с помощью таких запятых
-XX:PrintAssemblyOptions=intel,hsdis-help
Все, что не признано в качестве параметра hsdis, будет отправлено на дизассемблер, эти параметры являются теми же, что вы видите в списке из
objdump --help
... <SNIP A lot of --help text %<> ...
The following i386/x86-64 specific disassembler options are supported for use
with the -M switch (multiple options should be separated by commas):
x86-64 Disassemble in 64bit mode
i386 Disassemble in 32bit mode
i8086 Disassemble in 16bit mode
att Display instruction in AT&T syntax
intel Display instruction in Intel syntax
att-mnemonic
Display instruction in AT&T mnemonic
intel-mnemonic
Display instruction in Intel mnemonic
addr64 Assume 64bit address size
addr32 Assume 32bit address size
addr16 Assume 16bit address size
data32 Assume 32bit data size
data16 Assume 16bit data size
suffix Always display instruction suffix in AT&T syntax
Report bugs to <http://www.sourceware.org/bugzilla/>.
Я не думаю, что существует какой-либо существующий способ сделать это. Но это то, что я нашел -
Здесь является источником hsdis
. Вы можете изменить Makefile
, передав -masm=intel
в GCC. И если это сработает, с этого момента +PrintAssembly
должен начать выводить сборку синтаксиса Intel.
Ниже приведена процедура шаг за шагом, чтобы получить источник, построить и, наконец, получить hsdis-arch.so
, который является тем, который делает разборку Работа!
Я сам этого не пробовал. Я хочу, чтобы вы это работали:)
Если ничего не работает, это должно сделать вас удобным с AT & T Синтаксис:)