Question about ppc reverse stepping

Anthony Green green@moxielogic.com
Sun Sep 7 14:23:00 GMT 2014


I'm reviewing the gdb.reverse test results for my PPC process record
patch.  Here's an example of a failure that I'm not sure what to do
about.

solib-reverse.exp has an executable with undebuggable shared libraries.
The test is written such that it expects reverse stepping over calls to
the solib to skip the call completely.  However, on ppc linux, reverse
stepping has me stepping through some glue magic before popping out the
other end.  In the text below, when I'm on line 46, the test case
expects that reverse-step lands me on line 44 (at the bottom) without
all of the intermediate steps.

46	  return 0;			/* end part one */
(gdb) reverse-step
0x00003fffb7fb08b8 in .shr1 () from /home/green/binutils-gdb/gdb/testsuite/gdb.reverse/shr1.sl
(gdb) reverse-step
Single stepping until exit from function .shr1,
which has no line number information.
0x00003fffb7fb08b0 in .shr1 () from /home/green/binutils-gdb/gdb/testsuite/gdb.reverse/shr1.sl
(gdb) reverse-step
Single stepping until exit from function .shr1,
which has no line number information.
0x0000000010000638 in 00000011.plt_call.shr1+0 ()
(gdb) reverse-step
Single stepping until exit from function 00000011.plt_call.shr1+0,
which has no line number information.
main () at ./gdb.reverse/solib-reverse.c:44
44	  shr1 ("message 3\n");		/* shr1 three */

Is this what we really want?  Or can I modify the test to repeatedly
step over the .shr1 lines?

AG



More information about the Gdb mailing list