Re: Add fullname field in disassembly output

Eli Zaretskii
2012-11-06T17:44:15Z

> Date: Tue, 6 Nov 2012 12:13:36 +0000
> From: "Andrew Burgess" <aburgess@broadcom.com>
> cc: gdb-patches@sourceware.org, "Eli Zaretskii" <eliz@gnu.org>
>
> --- a/gdb/NEWS
> +++ b/gdb/NEWS
> @@ -64,6 +64,9 @@ py [command]
> async record "=record-started" and "=record-stopped".
> ** Memory changes are now notified using new async record
> "=memory-changed".
> + ** The data-disassemble command response will include a "fullname" field
> + containing the absolute file name when gdb can determine it and source
> + has been requested.

This part is OK, except that I believe we use "GDB", not "gdb".

> +The result of the -data-disassemble command will be a list named

"-data-disassemble" should be in @code.

> +@samp{asm_insns}, the contents of this list depend on the @var{mode}
> +used with the -data-disassemble command.

Same here.

> +For modes 1 and 3 the @samp{asm_insns} list contains tuples names
^^^^^
"named", I guess.

> +@samp{src_and_asm_line}, each of which has the following fields:
> +
> +@table @code
> +@item line
> +The line number within @samp{file}.
> +
> +@item file
> +The file name from the compilation unit. This might be an absolute
> +file name or a relative file name depending on the compile command
> +used.
> +
> +@item fullname
> +This field is optional. If it is present it will contain an absolute
> +file name to @samp{file}. If this field is not present then gdb was
^^ ^^^
"of", not "to", and "@value{GDBN}" instead of "gdb".

> +-data-disassemble in @var{mode} 0 and 2, so @samp{address},
^^^^^^^^^^^^^^^^^
@code

The patch for the manual is OK with these changes.

> +file="../../../src/gdb/testsuite/gdb.mi/basics.c",
> +fullname="/absolute/path/to/src/gdb/testsuite/gdb.mi/basics.c",
> +line_asm_insn=[@{address="0x000107bc",
> +func-name="main",offset="0",inst="save %sp, -112, %sp"@}]@},
> src_and_asm_line=@{line="32",
> -file="/kwikemart/marge/ezannoni/flathead-dev/devo/gdb/ \
> - testsuite/gdb.mi/basics.c",line_asm_insn=[
> -@{address="0x000107c0",func-name="main",offset="4",
> -inst="mov 2, %o0"@},
> +file="../../../src/gdb/testsuite/gdb.mi/basics.c",
> +fullname="/absolute/path/to/src/gdb/testsuite/gdb.mi/basics.c",
> +line_asm_insn=[@{address="0x000107c0",
> +func-name="main",offset="4",inst="mov 2, %o0"@},
> @{address="0x000107c4",func-name="main",offset="8",
> inst="sethi %hi(0x11800), %o2"@}]@}]
> (gdb)

Why do we sometimes use names with a hyphen, like func-name, and
sometimes with underscores, like line_asm_insn? Shouldn't we pick one
and use it consistently?

Thanks.