Binutils with MCST patches
Go to file
Pedro Alves 194cca4119 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.
2013-11-22 13:53:39 +00:00
bfd daily update 2013-11-22 09:32:36 +10:30
binutils Fix version.dll binutils test on non native platforms 2013-11-21 12:04:36 +01:00
config config/ * picflag.m4 (m68k-*-*): Use default PIC flag. 2013-11-21 10:50:04 -07:00
cpu
elfcpp Add R_X86_64_PC32_BND/R_X86_64_PLT32_BND suppor to gold 2013-11-18 09:55:09 -08:00
etc
gas gas/testsuite/ 2013-11-20 11:22:53 +00:00
gdb Make use of the frame stash to detect wider stack cycles. 2013-11-22 13:53:39 +00:00
gold Add R_X86_64_PC32_BND/R_X86_64_PLT32_BND suppor to gold 2013-11-18 09:55:09 -08:00
gprof * gprof.c (inline_file_names): New variable. 2013-11-21 13:13:06 +00:00
include gas/testsuite/ 2013-11-20 11:22:53 +00:00
intl
ld * scripttempl/avr.sc: Set .data section's LMA to next available 2013-11-22 12:00:55 +00:00
libdecnumber
libiberty config/ * picflag.m4 (m68k-*-*): Use default PIC flag. 2013-11-21 10:50:04 -07:00
opcodes gas/testsuite/ 2013-11-20 11:22:53 +00:00
readline
sim sim/ChangeLog: Correct bug number in previous commit. 2013-11-07 16:14:51 +00:00
texinfo
.cvsignore
.gitignore
COPYING
COPYING.LIB
COPYING.LIBGLOSS
COPYING.NEWLIB
COPYING3
COPYING3.LIB
ChangeLog Fix ChangeLog entries from earlier commit. 2013-11-11 15:34:48 -08:00
MAINTAINERS
Makefile.def Added Cilk runtime library (libcilkrts) into GCC. 2013-11-08 11:11:41 -07:00
Makefile.in * Makefile.in: Regenerate. 2013-11-08 11:11:42 -07:00
Makefile.tpl * Makefile.tpl: Fix typo. * Makefile.in: Regenerate. 2013-11-08 11:11:42 -07:00
README
README-maintainer-mode
compile
config-ml.in
config.guess
config.rpath
config.sub
configure Disable libcilkrts when C++ is not used. 2013-11-08 11:11:42 -07:00
configure.ac Disable libcilkrts when C++ is not used. 2013-11-08 11:11:42 -07:00
depcomp
djunpack.bat
install-sh
libtool.m4
ltgcc.m4
ltmain.sh
ltoptions.m4
ltsugar.m4
ltversion.m4
lt~obsolete.m4
makefile.vms
missing
mkdep
mkinstalldirs
move-if-change
setup.com
src-release
symlink-tree
ylwrap

README

		   README for GNU development tools

This directory contains various GNU compilers, assemblers, linkers, 
debuggers, etc., plus their support routines, definitions, and documentation.

If you are receiving this as part of a GDB release, see the file gdb/README.
If with a binutils release, see binutils/README;  if with a libg++ release,
see libg++/README, etc.  That'll give you info about this
package -- supported targets, how to use it, how to report bugs, etc.

It is now possible to automatically configure and build a variety of
tools with one command.  To build all of the tools contained herein,
run the ``configure'' script here, e.g.:

	./configure 
	make

To install them (by default in /usr/local/bin, /usr/local/lib, etc),
then do:
	make install

(If the configure script can't determine your type of computer, give it
the name as an argument, for instance ``./configure sun4''.  You can
use the script ``config.sub'' to test whether a name is recognized; if
it is, config.sub translates it to a triplet specifying CPU, vendor,
and OS.)

If you have more than one compiler on your system, it is often best to
explicitly set CC in the environment before running configure, and to
also set CC when running make.  For example (assuming sh/bash/ksh):

	CC=gcc ./configure
	make

A similar example using csh:

	setenv CC gcc
	./configure
	make

Much of the code and documentation enclosed is copyright by
the Free Software Foundation, Inc.  See the file COPYING or
COPYING.LIB in the various directories, for a description of the
GNU General Public License terms under which you can copy the files.

REPORTING BUGS: Again, see gdb/README, binutils/README, etc., for info
on where and how to report problems.