|
From: | Nick Clifton |
Subject: | Re: objdump m68k |
Date: | Mon, 07 Aug 2006 10:39:27 +0100 |
User-agent: | Thunderbird 1.5.0.4 (X11/20060516) |
Hi Harimurti,
recently I used objdump (of binutils-2.17) to disassembly a relocatable object intended for m68000 bases system. It turned out that objdump can't recognize the effective address for every JSR instructions. Here is an example,
a: 4eb9 0000 0000 jsr 0 <rpnff_bootram> 10: 4eb9 0000 0000 jsr 0 <rpnff_bootram>
translated from the following binary data, 0000000: 4e56 0000 2f3c 5741 524d 4eb9 bad8 25bb NV../<WARMN...%. 0000010: 024e b9ba c92a bb04 4e5e 4e75 .N...*..N^Nu The original binary clearly show 4 bytes after 4eb9 (JSR) is not empty.
This is probably because this is an object file, not a fully linked file. In an object file branch instructions like the JSR are often not fully resolved, since the location of their destination is not known until final link time. If you try adding the "-r" switch to the objdump command line when you perform the disassembly you should see the relocation entries for the JSR instructions, showing you where the object file intends the branch to go to.
If you are not happy with this idea, then please could you provide a *small* object file that demonstrates the problem, along with details of how you configured the binutils and the command lines you used to produce the object file and disassemble it.
Cheers Nick
[Prev in Thread] | Current Thread | [Next in Thread] |