Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Pedro Alves <pedro@codesourcery.com>
To: gdb-patches@sourceware.org
Cc: Stan Shebs <stan@codesourcery.com>
Subject: Re: [PATCH] Whack some dead code
Date: Tue, 30 Mar 2010 11:03:00 -0000	[thread overview]
Message-ID: <201003301203.22533.pedro@codesourcery.com> (raw)
In-Reply-To: <4BB144E7.1080800@codesourcery.com>

On Tuesday 30 March 2010 01:25:11, Stan Shebs wrote:
> A while back, Vladimir Prus noticed a chunk of dead code in 
> trace_find_line_command; basically, if you don't have symbolic info, 
> there is no plausible fallback for line numbers, you just have to give 
> up.  Committed to trunk.

>     * tracepoint.c (trace_find_line_command): Remove dead code.

Errr, what does "dead" mean exactly?  It's certainly exercisable, just
like the comment in the code suggests:

 (top-gdb) help tfind line
 Select a trace frame by source line.
 Argument can be a line number (with optional source file),
 a function name, or '*' followed by an address.
 Default argument is 'the next source line that was traced'.

 (top-gdb) frame
 #0  0x00007ffff6b420a0 in memset () from /lib/libc.so.6

 (top-gdb) tfind  line *(long)$rip
 TFIND: No line number information available for address 0x7ffff6b420a0 <memset>;
  -- will attempt to find by PC.
 Found trace frame 0, tracepoint -1
 #0  0x00007ffff6b420a0 in memset () from /lib/libc.so.6

( nevermind the "found some trace frame" bug :-) )

>     if (sal.symtab == 0)
> !     {
> !       printf_filtered ("TFIND: No line number information available");
> !       if (sal.pc != 0)
> !       {
> !         /* This is useful for "info line *0x7f34".  If we can't
> !            tell the user about a source line, at least let them
> !            have the symbolic address.  */
> !         printf_filtered (" for address ");
> !         wrap_here ("  ");
> !         print_address (get_current_arch (), sal.pc, gdb_stdout);
> !         printf_filtered (";\n -- will attempt to find by PC. \n");
> !       }
> !         else
> !       {
> !         printf_filtered (".\n");
> !         return;               /* No line, no PC; what can we do?  */
> !       }
> !     }

This somewhat matches "info line" (and this code seems to have been
copied from there):

 (top-gdb) info line *(long)$rip
 No line number information available for address 0x7ffff6b420a0 <memset>

Now, if the "-- will attempt to find by PC." fallback, or even just
the the "at least let them have the symbolic address" bit
aren't useful, that's another story.

-- 
Pedro Alves


  reply	other threads:[~2010-03-30 11:03 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-30  0:25 Stan Shebs
2010-03-30 11:03 ` Pedro Alves [this message]
2010-03-30 17:05   ` Stan Shebs
2010-03-30 17:41     ` Pedro Alves
2010-03-30 17:44       ` Michael Snyder

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=201003301203.22533.pedro@codesourcery.com \
    --to=pedro@codesourcery.com \
    --cc=gdb-patches@sourceware.org \
    --cc=stan@codesourcery.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