This is the mail archive of the
gdb-cvs@sourceware.org
mailing list for the GDB project.
gdb and binutils branch master updated. 194cca41192efa65f710967e3149bbc813c12b22
- From: palves at sourceware dot org
- To: gdb-cvs at sourceware dot org
- Date: 22 Nov 2013 14:00:14 -0000
- Subject: gdb and binutils branch master updated. 194cca41192efa65f710967e3149bbc813c12b22
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".
The branch, master has been updated
via 194cca41192efa65f710967e3149bbc813c12b22 (commit)
from 33f8fe58b9a55a0075a90cc9080a1716221a3f81 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=194cca41192efa65f710967e3149bbc813c12b22
commit 194cca41192efa65f710967e3149bbc813c12b22
Author: Pedro Alves <palves@redhat.com>
Date: Thu Nov 21 15:20:09 2013 +0000
Make use of the frame stash to detect wider stack cycles.
Given we already have the frame id stash, which holds the ids of all
frames in the chain, detecting corrupted stacks with wide stack cycles
with non-consecutive dup frame ids is just as cheap as just detecting
cycles in consecutive frames:
#0 frame_id1
#1 frame_id2
#2 frame_id3
#3 frame_id1
#4 frame_id2
#5 frame_id3
#6 frame_id1
... forever ...
We just need to check whether the stash already knows about a given
frame id instead of comparing the ids of the previous/this frames.
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.
-----------------------------------------------------------------------
Summary of changes:
gdb/ChangeLog | 12 +++++
gdb/frame.c | 151 +++++++++++++++++++++++++++++++++------------------------
2 files changed, 100 insertions(+), 63 deletions(-)
hooks/post-receive
--
gdb and binutils