Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Daniel Jacobowitz <drow@false.org>
Cc: ppluzhnikov@google.com, tromey@redhat.com, gdb-patches@sourceware.org
Subject: Re: [RFC][patch] Allow to disassemble line.
Date: Mon, 19 Oct 2009 19:40:00 -0000	[thread overview]
Message-ID: <83ljj7gop6.fsf@gnu.org> (raw)
In-Reply-To: <20091019184853.GA18564@caradoc.them.org>

> Date: Mon, 19 Oct 2009 14:48:53 -0400
> From: Daniel Jacobowitz <drow@false.org>
> Cc: tromey@redhat.com, gdb-patches@sourceware.org
> 
> On Mon, Oct 19, 2009 at 11:09:44AM -0700, Paul Pluzhnikov wrote:
> > I've also changed the "current PC marker" from "* " to "=> " (as Eli
> > suggested), so the output looks like this:
> > 
> > (top) disas
> > Dump of assembler code for function gdb_main:
> >    0x0000000000454c9e <gdb_main+0>:     push   %rbp
> >    0x0000000000454c9f <gdb_main+1>:     mov    %rsp,%rbp
> >    0x0000000000454ca2 <gdb_main+4>:     sub    $0x10,%rsp
> >    0x0000000000454ca6 <gdb_main+8>:     mov    %rdi,-0x8(%rbp)
> > => 0x0000000000454caa <gdb_main+12>:    mov    -0x8(%rbp),%rax
> >    0x0000000000454cae <gdb_main+16>:    mov    0x10(%rax),%eax
> >    0x0000000000454cb1 <gdb_main+19>:    mov    %eax,0x678475(%rip) #
> > 0xacd12c <use_windows>
> 
> For whatever it's worth, I miss the extra screen real estate stolen by
> the enlarged prompt (or even the narrower prompt).

It's really hard to believe that 1 or 2 or 3 extra columns can make
such a difference.  Listing the source, GDB is unable to show most of
the lines in the call stack without wrapping them, and we live with
that.  How on Earth can disassembly do worse?

> I use a wider than average terminal

How wide is it?  Even on a 17" display I can easily have 130-column
text windows with very readable font, and almost 200 with slightly
less readable one.

> and most of the times I use disassemble it still runs
> off the right and wraps unreadably.  It's fine in examples because
> they have names like "gdb_main" or "bar"...

Please show your counter-examples.  I'm curious to see what kind of
symbols do you have there.

> We've got this layout here with nicely aligned columns but tons of
> whitespace.  In a halfway modern world we could do this with color.
> Or bold the address of the current instruction.

I have nothing against this, but it will have to be an option, because
dumb terminals, non-Posix emulations of termcap, and some front ends
will need to turn it off (and then the arrow should re-appear).

> Another possibility would be to factor out the name of the function.
> Something like this:
> 
> (top) disas
> Dump of assembler code for function gdb_main:
>    0x0000000000454c9e (+0):     push   %rbp
>    0x0000000000454c9f (+1):     mov    %rsp,%rbp
>    0x0000000000454ca2 (+4):     sub    $0x10,%rsp
>    0x0000000000454ca6 (+8):     mov    %rdi,-0x8(%rbp)
> => 0x0000000000454caa (+12):    mov    -0x8(%rbp),%rax
>    0x0000000000454cae (+16):    mov    0x10(%rax),%eax

I don't like this: disassembly should look like it looks elsewhere.
However, we could offer an optional removal of the leftmost column,
the address, and the next one, which shows the symbol and offset from
it.  Stripping leading zeros, as you point out, will help even more,
especially on 64-bit platforms.


  reply	other threads:[~2009-10-19 19:40 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-02  0:50 Paul Pluzhnikov
2009-10-02  6:52 ` Joel Brobecker
2009-10-02 18:31   ` Paul Pluzhnikov
2009-10-02 18:49     ` Joel Brobecker
2009-10-02 15:17 ` Tom Tromey
2009-10-08 16:16 ` Paul Pluzhnikov
2009-10-08 16:23   ` Daniel Jacobowitz
2009-10-08 16:25     ` Joel Brobecker
2009-10-08 16:52     ` Paul Pluzhnikov
2009-10-08 17:29       ` Daniel Jacobowitz
2009-10-08 17:33         ` Joel Brobecker
2009-10-16 23:07       ` Paul Pluzhnikov
2009-10-16 23:11         ` Paul Pluzhnikov
2009-10-17  8:33           ` Eli Zaretskii
2009-10-17 15:50             ` Paul Pluzhnikov
2009-10-17 16:49               ` Eli Zaretskii
2009-10-17 17:08                 ` Paul Pluzhnikov
2009-10-17 19:55                   ` Eli Zaretskii
2009-10-19 17:47         ` Tom Tromey
2009-10-19 18:09           ` Paul Pluzhnikov
2009-10-19 18:20             ` Paul Pluzhnikov
2009-10-19 18:30             ` Tom Tromey
2009-10-21  0:22               ` Paul Pluzhnikov
2009-10-21  4:07                 ` Eli Zaretskii
2009-10-21 18:06                   ` Paul Pluzhnikov
2009-10-21 18:16                     ` Eli Zaretskii
2009-10-21 17:24                 ` Tom Tromey
2009-10-19 18:49             ` Daniel Jacobowitz
2009-10-19 19:40               ` Eli Zaretskii [this message]
2009-10-19 19:55                 ` Daniel Jacobowitz
2009-10-19 19:40               ` Joel Brobecker
2009-10-19 19:56                 ` Daniel Jacobowitz
2009-10-19 20:03                   ` Tom Tromey
2009-10-19 20:10                     ` Joel Brobecker
2009-10-19 20:23                       ` Paul Pluzhnikov
2009-10-19 20:47                         ` Daniel Jacobowitz
2009-10-20 16:04               ` Tom Tromey
2009-10-08 16:24   ` Joel Brobecker
2009-10-08 17:16     ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83ljj7gop6.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=drow@false.org \
    --cc=gdb-patches@sourceware.org \
    --cc=ppluzhnikov@google.com \
    --cc=tromey@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox