2009-10-22 Paul Pluzhnikov <ppluzhnikov@google.com>

* disasm.h (DISASSEMBLY_OMIT_FNAME) New define.
	(gdb_disassembly): Correct parameter name.
	* disasm.c (dump_insns): Adjust.
	(gdb_disassembly): Fix indentation.
	* cli/cli-cmds.c (disassemble_command): Adjust.

doc/ChangeLog:

2009-10-22  Paul Pluzhnikov  <ppluzhnikov@google.com>

	* gdb.texinfo (Machine Code): Mention function name in disasssembly
	and adjust example.

testsuite/ChangeLog:

2009-10-22  Paul Pluzhnikov  <ppluzhnikov@google.com>

	* gdb.asm/asm-source.exp: Adjust.
This commit is contained in:
Paul Pluzhnikov 2009-10-23 00:49:33 +00:00
parent bb8a0291af
commit 9c4191458a
8 changed files with 41 additions and 21 deletions

View File

@ -1,3 +1,11 @@
2009-10-22 Paul Pluzhnikov <ppluzhnikov@google.com>
* disasm.h (DISASSEMBLY_OMIT_FNAME) New define.
(gdb_disassembly): Correct parameter name.
* disasm.c (dump_insns): Adjust.
(gdb_disassembly): Fix indentation.
* cli/cli-cmds.c (disassemble_command): Adjust.
2009-10-22 Michael Snyder <msnyder@vmware.com>
* infrun.c (keep_going): If insert_breakpoints fails,

View File

@ -936,8 +936,7 @@ print_disassembly (struct gdbarch *gdbarch, const char *name,
}
/* Subroutine of disassemble_command to simplify it.
Print a disassembly of the current function.
MIXED is non-zero to print source with the assembler. */
Print a disassembly of the current function according to FLAGS. */
static void
disassemble_current_function (int flags)
@ -1018,6 +1017,7 @@ disassemble_command (char *arg, int from_tty)
if (! arg || ! *arg)
{
flags |= DISASSEMBLY_OMIT_FNAME;
disassemble_current_function (flags);
return;
}
@ -1039,6 +1039,7 @@ disassemble_command (char *arg, int from_tty)
low = tui_get_low_disassembly_address (gdbarch, low, pc);
#endif
low += gdbarch_deprecated_function_start_offset (gdbarch);
flags |= DISASSEMBLY_OMIT_FNAME;
}
else
{

View File

@ -122,7 +122,8 @@ dump_insns (struct gdbarch *gdbarch, struct ui_out *uiout,
/* We don't care now about line, filename and
unmapped. But we might in the future. */
ui_out_text (uiout, " <");
ui_out_field_string (uiout, "func-name", name);
if ((flags & DISASSEMBLY_OMIT_FNAME) == 0)
ui_out_field_string (uiout, "func-name", name);
ui_out_text (uiout, "+");
ui_out_field_int (uiout, "offset", offset);
ui_out_text (uiout, ">:\t");
@ -373,9 +374,8 @@ gdb_disassemble_info (struct gdbarch *gdbarch, struct ui_file *file)
void
gdb_disassembly (struct gdbarch *gdbarch, struct ui_out *uiout,
char *file_string,
int flags,
int how_many, CORE_ADDR low, CORE_ADDR high)
char *file_string, int flags, int how_many,
CORE_ADDR low, CORE_ADDR high)
{
struct ui_stream *stb = ui_out_stream_new (uiout);
struct cleanup *cleanups = make_cleanup_ui_out_stream_delete (stb);

View File

@ -21,14 +21,14 @@
#define DISASSEMBLY_SOURCE (0x1 << 0)
#define DISASSEMBLY_RAW_INSN (0x1 << 1)
#define DISASSEMBLY_OMIT_FNAME (0x1 << 2)
struct ui_out;
struct ui_file;
extern void gdb_disassembly (struct gdbarch *gdbarch, struct ui_out *uiout,
char *file_string,
int mixed_source_and_assembly,
int how_many, CORE_ADDR low, CORE_ADDR high);
char *file_string, int flags, int how_many,
CORE_ADDR low, CORE_ADDR high);
/* Print the instruction at address MEMADDR in debugged memory,
on STREAM. Returns the length of the instruction, in bytes,

View File

@ -1,3 +1,8 @@
2009-10-22 Paul Pluzhnikov <ppluzhnikov@google.com>
* gdb.texinfo (Machine Code): Mention function name in disasssembly
and adjust example.
2009-10-22 Michael Snyder <msnyder@vmware.com>
* gdb.texinfo (Process Record and Replay): Document new form of

View File

@ -6540,7 +6540,9 @@ The default memory range is the function surrounding the
program counter of the selected frame. A single argument to this
command is a program counter value; @value{GDBN} dumps the function
surrounding this value. Two arguments specify a range of addresses
(first inclusive, second exclusive) to dump.
(first inclusive, second exclusive) to dump. In that case, the name of
the function is also printed (since there could be several functions in
the given range).
If the range of memory being disassembled contains current program counter,
the instruction at that location is shown with a @code{=>} marker.
@ -6570,21 +6572,21 @@ program is stopped just after function prologue:
(@value{GDBP}) disas /m main
Dump of assembler code for function main:
5 @{
0x08048330 <main+0>: push %ebp
0x08048331 <main+1>: mov %esp,%ebp
0x08048333 <main+3>: sub $0x8,%esp
0x08048336 <main+6>: and $0xfffffff0,%esp
0x08048339 <main+9>: sub $0x10,%esp
0x08048330 <+0>: push %ebp
0x08048331 <+1>: mov %esp,%ebp
0x08048333 <+3>: sub $0x8,%esp
0x08048336 <+6>: and $0xfffffff0,%esp
0x08048339 <+9>: sub $0x10,%esp
6 printf ("Hello.\n");
=> 0x0804833c <main+12>: movl $0x8048440,(%esp)
0x08048343 <main+19>: call 0x8048284 <puts@@plt>
=> 0x0804833c <+12>: movl $0x8048440,(%esp)
0x08048343 <+19>: call 0x8048284 <puts@@plt>
7 return 0;
8 @}
0x08048348 <main+24>: mov $0x0,%eax
0x0804834d <main+29>: leave
0x0804834e <main+30>: ret
0x08048348 <+24>: mov $0x0,%eax
0x0804834d <+29>: leave
0x0804834e <+30>: ret
End of assembler dump.
@end smallexample

View File

@ -1,3 +1,7 @@
2009-10-22 Paul Pluzhnikov <ppluzhnikov@google.com>
* gdb.asm/asm-source.exp: Adjust.
2009-10-22 Michael Snyder <msnyder@vmware.com>
* gdb.reverse/break-precsave.exp: New test.

View File

@ -461,7 +461,7 @@ test_dis "x/i &staticvar" "staticvar"
test_dis "disassem &staticvar &staticvar+1" "staticvar"
# See if we can look at a static function
gdb_test "disassem foostatic" ".*<foostatic\\+0>:.*End of assembler dump." \
gdb_test "disassem foostatic" ".*<\\+0>:.*End of assembler dump." \
"look at static function"
remote_exec build "rm -f ${subdir}/arch.inc"