1

I am trying to disassemble PowerPC dump with objdump. I have only raw binary dump, not ELF or any other 'container'.

Unfortunately, I cannot find any option to force VLE mode (my binary definitely uses it).

This one is just a short example:

~$ objdump -b binary -EB -m powerpc:vle -M vle -D PowerPC_test.bin

PowerPC_test.bin:     file format binary

Disassembly of section .data:

00000000 <.data>:
   0:   c5 a9 50 1a     .long 0xc5a9501a
   4:   fb 70 2a a4     .long 0xfb702aa4

According to IDA and Ghidra, it should be

seg000:00000000 C5 A9                       se_lwz    r26, 0x14(r25)
seg000:00000002 50 1A FB 70                 e_lwz     r0, -0x490(r26)
seg000:00000006 2A A4                       se_cmpi   r4, 0xA

1 Answer 1

1

Your toolchain probably does not support VLE (AFAIK it was never mainlined), so you’ll need a fork with VLE support (e.g. from Freescale/NXP, Hightec or ST) and use the toolchain-specific switch to force VLE disassembly

1
  • Yes, you are right. binutils-multiarch doesn't incude it, even though power:vle is in the list of supported architectures. To be honest, it is strange because you can find a lot of PowerPC-related stuff in the binutils sources. But anyway, objdump from NXP works better, thanks for it. Oct 30, 2023 at 12:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.