Re: [PATCH] Whack some dead code

Pedro Alves
2010-03-30T11:03:34Z

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