public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* Objdump stupidity
@ 1997-10-24  6:29 Jon Thackray
  1997-10-24 14:41 ` ian
  0 siblings, 1 reply; 2+ messages in thread
From: Jon Thackray @ 1997-10-24  6:29 UTC (permalink / raw)
  To: gnu-win32

Why does objdump engage in the following stupid behaviour when
disassembling? For some reason, it's decided to continue disassembly
from the middle of an opcode, which has forced it to produce the '%?'

100015f1 <.lf>:
     0:	bb a0 81 00 10 	movl   $0x100081a0,%ebx
     5:	ff 53 04       	call   *0x4(%ebx)
     8:	89 45 f8       	movl   %eax,0xfffffff8(%ebp)
     b:	ff 75 f8       	pushl  0xfffffff8(%ebp)
     e:	8b 05 8c b3 00 	movl   0x1000b38c,%eax
    13:	10 

10001601 <.lf>:
     0:	8c b3 00 10 b9 	movw   %?,0x2b91000(%ebx)
     5:	02 
     6:	00 00          	addb   %al,(%eax)
     8:	00 8b 1d 8c b4 	addb   %cl,0xb48c1d(%ebx)

-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Objdump stupidity
  1997-10-24  6:29 Objdump stupidity Jon Thackray
@ 1997-10-24 14:41 ` ian
  0 siblings, 0 replies; 2+ messages in thread
From: ian @ 1997-10-24 14:41 UTC (permalink / raw)
  To: jont; +Cc: gnu-win32

[ You may get a faster response on general binutils issues if you send
  mail to the bug reporting address, bug-gnu-utils@prep.ai.mit.edu.
  Of course, it can be hard to tell whether a particular issue is
  cygwin32 specific or general. ]

>Why does objdump engage in the following stupid behaviour when
>disassembling? For some reason, it's decided to continue disassembly
>from the middle of an opcode, which has forced it to produce the '%?'

>100015f1 <.lf>:
>     0:	bb a0 81 00 10 	movl   $0x100081a0,%ebx
>     5:	ff 53 04       	call   *0x4(%ebx)
>     8:	89 45 f8       	movl   %eax,0xfffffff8(%ebp)
>     b:	ff 75 f8       	pushl  0xfffffff8(%ebp)
>     e:	8b 05 8c b3 00 	movl   0x1000b38c,%eax
>    13:	10 

>10001601 <.lf>:
>     0:	8c b3 00 10 b9 	movw   %?,0x2b91000(%ebx)
>     5:	02 
>     6:	00 00          	addb   %al,(%eax)
>     8:	00 8b 1d 8c b4 	addb   %cl,0xb48c1d(%ebx)

You didn't include a test case, and I don't know specifically why it
is failing for you.

The general answer is that objdump looks for symbols which it believes
represent functions, and restarts the disassembly each time it finds
one.  You have a couple of symbols named .lf which objdump thinks are
functions.  You can see this happening in objdump.c in
disassemble_data, near the end, where it sets nextstop before calling
disassemble_bytes.

The quick way to get a disassembly is to use --prefix-addresses, which
uses a different disassembly format.

Ian
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~1997-10-24 14:41 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-10-24  6:29 Objdump stupidity Jon Thackray
1997-10-24 14:41 ` ian

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).