OSDN Git Service

2009-10-22 Paul Pluzhnikov <ppluzhnikov@google.com>
authorppluzhnikov <ppluzhnikov>
Fri, 23 Oct 2009 09:49:32 +0000 (09:49 +0000)
committerppluzhnikov <ppluzhnikov>
Fri, 23 Oct 2009 09:49:32 +0000 (09:49 +0000)
* 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.

gdb/ChangeLog
gdb/cli/cli-cmds.c
gdb/disasm.c
gdb/disasm.h
gdb/doc/ChangeLog
gdb/doc/gdb.texinfo
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.asm/asm-source.exp

index 153bc57..dfc57fb 100644 (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, 
index ce7c2a6..acdbc82 100644 (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
     {
index e296e38..5927367 100644 (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);
index a6f6d39..c92e5af 100644 (file)
 
 #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,
index 7f70e8d..d65e685 100644 (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
index 18bad64..c1e393f 100644 (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
index 6f4099f..2cdcccc 100644 (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.
index b2bb679..40feba7 100644 (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"