This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Objdump on VAX
- From: Jan-Benedict Glaw <jbglaw at microdata-pos dot de>
- To: binutils at sources dot redhat dot com
- Date: Mon, 29 Nov 2004 19:47:26 +0100
- Subject: Objdump on VAX
Hi!
I'd like to get useful disassebler dumps (using objdump) for VAX
ELF binaries. However, there's a minimal problem:
objdump works by going through the .text section and disassembles
it, adding function name and address to each line of disassembly.
However, this doesn't really work for VAX: per calling convention,
the first two bytes of a function's address don't contain executable
assembler instructions, but a bitmask of registers to push onto the
stack while CALLSing this function.
There are about 10 really hackish ways to solve that, but I don't
see a really clean solution. I'd think of something like
- Disassemble data at current address
- Try to get function's name and start address
- if (VAX && 8current_address-2) <= function_start_address) {
current_address++;
continue;
}
However, this breaks if previous function's padding bytes make of a
long opcode which spawns into the new function...
Any hints to "solve" this?
Mit freundlichen Gruessen,
Jan-Benedict Glaw
--
AWEK microdata GmbH -- Am Wellbach 4 -- 33609 Bielefeld