This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Infinite loop in sigstep.exp


I'm getting an infinite loop in the new sigstep.exp
with an old gdb, gdb drow_intercu-20040221-branch.

gdb.log looks like this:

  Breakpoint 2, handler (sig=26) at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/testsuite/gdb.base/sigstep.c:31
  31        done = 1;
  1: x/i $pc  0x8048473 <handler+3>:      movl   $0x1,0x8049738
  (gdb) stepi
  32      } /* handler */
  1: x/i $pc  0x804847d <handler+13>:     mov    %ebp,%esp
  (gdb) stepi
  0x0804847f      32      } /* handler */
  1: x/i $pc  0x804847f <handler+15>:     pop    %ebp
  (gdb) stepi
  0x08048480 in handler (sig=1) at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/testsuite/gdb.base/sigstep.c:32
  32      } /* handler */
  1: x/i $pc  0x8048480 <handler+16>:     ret
  (gdb) stepi

  Breakpoint 2, handler (sig=26) at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/testsuite/gdb.base/sigstep.c:31
  31        done = 1;
  1: x/i $pc  0x8048473 <handler+3>:      movl   $0x1,0x8049738

Somehow, stepi off the "ret" instruction just goes back to the
beginning of the function instead of stepping into "<signal handler
called">.

This blows up my test bed, so I have to fix it.

My first plan is to add some counters to prevent infinite loops
with "exp_continue".  I'm open to other ideas.

Michael


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]