This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] Whack some dead code
- From: Pedro Alves <pedro at codesourcery dot com>
- To: gdb-patches at sourceware dot org
- Cc: Stan Shebs <stan at codesourcery dot com>
- Date: Tue, 30 Mar 2010 12:03:22 +0100
- Subject: Re: [PATCH] Whack some dead code
- References: <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