Make use of the frame stash to detect wider stack cycles.
authorPedro Alves <palves@redhat.com>
Thu, 21 Nov 2013 15:20:09 +0000 (15:20 +0000)
committerPedro Alves <palves@redhat.com>
Fri, 22 Nov 2013 13:41:43 +0000 (13:41 +0000)
commitf5b0ed3c8ce42b0dd6b6caa0b3d7b7e734311afe
tree05d8396e09ae91c63ddccc3d4c1079f5c9d3d1d3
parentbe2c48b4d50b992ba83bc51f086e316621a03a14
Make use of the frame stash to detect wider stack cycles.

Tested on x86_64 Fedora 17.

gdb/
2013-11-22  Pedro Alves  <palves@redhat.com>
    Tom Tromey  <tromey@redhat.com>

* frame.c (frame_stash_add): Now returns whether a frame with the
same ID was already known.
(compute_frame_id): New function, factored out from get_frame_id.
(get_frame_id): No longer lazilly compute the frame id here.
(get_prev_frame_if_no_cycle): New function.  Detects wider stack
cycles.
(get_prev_frame_1): Use it instead of get_prev_frame_raw directly,
and checking for stack cycles here.
gdb/frame.c