This is the mail archive of the gdb-prs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug gdb/11833] disassemble/m should be PC-driven, not source line driven


https://sourceware.org/bugzilla/show_bug.cgi?id=11833

--- Comment #1 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Doug Evans <devans@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=6ff0ba5f7b8a2b10642bbb233a32043595c55670

commit 6ff0ba5f7b8a2b10642bbb233a32043595c55670
Author: Doug Evans <xdje42@gmail.com>
Date:   Fri Aug 14 21:45:54 2015 -0700

    New /s modifier for the disassemble command.

    The "source centric" /m option to the disassemble command is often
    unhelpful, e.g., in the presence of optimized code.
    This patch adds a /s modifier that is better.
    For one, /m only prints instructions from the originating source file,
    leaving out instructions from e.g., inlined functions from other files.

    gdb/ChangeLog:

        PR gdb/11833
        * NEWS: Document new /s modifier for the disassemble command.
        * cli/cli-cmds.c (disassemble_command): Add support for /s.
        (_initialize_cli_cmds): Update online docs of disassemble command.
        * disasm.c: #include "source.h".
        (struct deprecated_dis_line_entry): Renamed from dis_line_entry.
        All uses updated.
        (dis_line_entry): New struct.
        (hash_dis_line_entry, eq_dis_line_entry): New functions.
        (allocate_dis_line_table): New functions.
        (maybe_add_dis_line_entry, line_has_code_p): New functions.
        (dump_insns): New arg end_pc.  All callers updated.
        (do_mixed_source_and_assembly_deprecated): Renamed from
        do_mixed_source_and_assembly.  All callers updated.
        (do_mixed_source_and_assembly): New function.
        (gdb_disassembly): Handle /s (DISASSEMBLY_SOURCE).
        * disasm.h (DISASSEMBLY_SOURCE_DEPRECATED): Renamed from
        DISASSEMBLY_SOURCE.  All uses updated.
        (DISASSEMBLY_SOURCE): New macro.
        * mi/mi-cmd-disas.c (mi_cmd_disassemble): New modes 4,5.

    gdb/doc/ChangeLog:

        * gdb.texinfo (Machine Code): Update docs for mixed source/assembly
        disassembly.
        (GDB/MI Data Manipulation): Update docs for new disassembly modes.

    gdb/testsuite/ChangeLog:

        * gdb.mi/mi-disassemble.exp: Update.
        * gdb.base/disasm-optim.S: New file.
        * gdb.base/disasm-optim.c: New file.
        * gdb.base/disasm-optim.h: New file.
        * gdb.base/disasm-optim.exp: New file.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]