This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]