History log of /freebsd-10-stable/contrib/gcc/unwind-dw2.c
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 252039 20-Jun-2013 dim

Pull in r183984 from llvm trunk:

Make PrologEpilogInserter save/restore all callee saved registers in
functions which call __builtin_unwind_init()

__builtin_unwind_init() is an undocumented gcc intrinsic which has
this effect, and is used in libgcc_eh.

Goes part of the way toward fixing PR8541.

This obsoletes the ugly hack to libgcc's unwind code from r245272, and
should also work for other arches, so revert the hack too.


# 245272 10-Jan-2013 dim

Add an ugly hack to libgcc's unwind code, to make it behave properly at
runtime on amd64, when it is compiled by clang. Some versions of clang
don't save and restore all callee registers, if a __builtin_eh_return()
intrinsic is used in a function. This is particularly bad on amd64.

Until the problem gets fixed by upstream, use an asm statement to force
clang to assume the registers in question are clobbered, when invoking
__builtin_eh_return(), so it will emit code to save and restore them.

This should fix the crashes reported on -current with some C++ programs,
particularly those that throw exceptions over multiple function
boundaries.

Reported by: stefanf
MFC after: 3 days


# 169690 18-May-2007 kan

This commit was generated by cvs2svn to compensate for changes in r169689,
which included commits to RCS files with non-trunk default branches.


# 169689 18-May-2007 kan

GCC 4.2.0 release.


# 146895 03-Jun-2005 kan

Gcc 3.4.4 release.


# 132718 28-Jul-2004 kan

Gcc 3.4.2 20040728.


# 122180 07-Nov-2003 kan

Gcc 3.3.3 20031106.


# 117395 11-Jul-2003 kan

Gcc 3.3.1-pre as of 2003-07-11.


# 110611 10-Feb-2003 kan

Gcc 3.2.2-release.


# 96489 13-May-2002 obrien

Cause CVS to sync up checked out source bases with Gcc 3.1 bits after
the repo surgery to cut out the abortive Gcc 2.9[67] imports.


# 90075 01-Feb-2002 obrien

Enlist the FreeBSD-CURRENT users as testers of what is to become Gcc 3.1.0.
These bits are taken from the FSF anoncvs repo on 1-Feb-2002 08:20 PST.