Discussion:
trying to use gdb to disassemble a binary file
Fahd Abidi
2007-08-06 18:45:17 UTC
Permalink
Hello,

I am trying to use GDB to disassemble a binary file. I have no problems
when gdb connects to a target board (running a PC440) and viewing the
disassembly via the display command, (gdb)x /10i$0xfffff000. But GDB
does will not recognize or open a binary file format. It might not be
the right tool to use, I really just want to open a binary file in gdb
and view the disassembly. Is that possible?

Fahd
Dave Korn
2007-08-06 18:56:32 UTC
Permalink
Post by Fahd Abidi
Hello,
I am trying to use GDB to disassemble a binary file. I have no problems
when gdb connects to a target board (running a PC440) and viewing the
disassembly via the display command, (gdb)x /10i$0xfffff000. But GDB
does will not recognize or open a binary file format. It might not be
the right tool to use, I really just want to open a binary file in gdb
and view the disassembly. Is that possible?
Not easily, although it would work if you could get the file's contents
loaded into memory.

Probably your best bet is to use "objdump -D --target=binary
--architecture=<your arch> filename"


cheers,
DaveK
--
Can't think of a witty .sigline today....
Daniel Jacobowitz
2007-08-06 19:16:43 UTC
Permalink
Post by Dave Korn
Post by Fahd Abidi
Hello,
I am trying to use GDB to disassemble a binary file. I have no problems
when gdb connects to a target board (running a PC440) and viewing the
disassembly via the display command, (gdb)x /10i$0xfffff000. But GDB
does will not recognize or open a binary file format. It might not be
the right tool to use, I really just want to open a binary file in gdb
and view the disassembly. Is that possible?
Not easily, although it would work if you could get the file's contents
loaded into memory.
Probably your best bet is to use "objdump -D --target=binary
--architecture=<your arch> filename"
Alternatively, use objcopy to convert the file into an ELF image.
--
Daniel Jacobowitz
CodeSourcery
Fahd Abidi
2007-08-06 21:00:07 UTC
Permalink
Thanks to the both of you. The objdump command worked.

I tried the objcopy before I emailed and converted the binary file to an
ELF format but for some reason the architecture would not get written to
the created elf file:

PPC_440-bojcopy -I binary -O elf32-powerpc -B powerpc file file.elf

trying to do an "objdump -f" showed that there was no architecture
information copied over. Trying to disassemble this resulted in an error
saying the architecture was unknown. Probably this was a problem with my
tools so I won't worry about it. And it would have to go on another
thread anyhow.

Thanks again.

Fahd


-----Original Message-----
From: Daniel Jacobowitz [mailto:***@false.org]
Sent: Monday, August 06, 2007 3:30 PM
To: Dave Korn
Cc: Fahd Abidi; ***@sourceware.org
Subject: Re: trying to use gdb to disassemble a binary file
Post by Dave Korn
Post by Fahd Abidi
Hello,
I am trying to use GDB to disassemble a binary file. I have no
problems when gdb connects to a target board (running a PC440) and
viewing the disassembly via the display command, (gdb)x
/10i$0xfffff000. But GDB does will not recognize or open a binary
file format. It might not be the right tool to use, I really just
want to open a binary file in gdb and view the disassembly. Is that
possible?
Post by Dave Korn
Not easily, although it would work if you could get the file's
contents loaded into memory.
Probably your best bet is to use "objdump -D --target=binary
--architecture=<your arch> filename"
Alternatively, use objcopy to convert the file into an ELF image.

--
Daniel Jacobowitz
CodeSourcery
Robert Bu
2007-08-08 09:06:36 UTC
Permalink
I can get the architecture information on my MIPS by
"mips-elf-objcopy -I binary -O elf32-bigmips -B mips test.bin test.elf"

However, is that possible to designate the entrypoint(start address) for
the ELF file? The default seems to be 0x0.
------------------------------------------------------------------------
RE: trying to use gdb to disassemble a binary file
Mon, 06 Aug 2007 17:00:07 -0400
Thanks to the both of you. The objdump command worked.
I tried the objcopy before I emailed and converted the binary file to an
ELF format but for some reason the architecture would not get written to
PPC_440-bojcopy -I binary -O elf32-powerpc -B powerpc file file.elf
trying to do an "objdump -f" showed that there was no architecture
information copied over. Trying to disassemble this resulted in an error
saying the architecture was unknown. Probably this was a problem with my
tools so I won't worry about it. And it would have to go on another
thread anyhow.
Thanks again.
Dave Korn
2007-08-08 12:13:30 UTC
Permalink
Post by Robert Bu
I can get the architecture information on my MIPS by
"mips-elf-objcopy -I binary -O elf32-bigmips -B mips test.bin test.elf"
However, is that possible to designate the entrypoint(start address) for
the ELF file? The default seems to be 0x0.
The man page suggests there is a "--set-start" option that sounds like it
should do what you want; have you tried it?


cheers,
DaveK
--
Can't think of a witty .sigline today....
Robert Bu
2007-08-08 13:10:29 UTC
Permalink
That's it.

Thanks!
Post by Dave Korn
Post by Robert Bu
I can get the architecture information on my MIPS by
"mips-elf-objcopy -I binary -O elf32-bigmips -B mips test.bin test.elf"
However, is that possible to designate the entrypoint(start address) for
the ELF file? The default seems to be 0x0.
The man page suggests there is a "--set-start" option that sounds like it
should do what you want; have you tried it?
cheers,
DaveK
Loading...