This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [3.3/3.4/4.0/4.1] IA-64 FP register file corruption on unwind
- From: Geert Bosch <bosch at adacore dot com>
- To: James E Wilson <wilson at specifixinc dot com>
- Cc: gcc-patches at gcc dot gnu dot org, gdr at integrable-solutions dot net,mark at codesourcery dot com
- Date: Tue, 5 Apr 2005 10:27:03 -0400
- Subject: Re: [3.3/3.4/4.0/4.1] IA-64 FP register file corruption on unwind
- References: <1112676190.10291.44.camel@aretha.corp.specifixinc.com>
On Apr 5, 2005, at 00:43, James E Wilson wrote:
The fix is fairly simple. There is some hand written assembly code in
the unwind-ia64.c file for restoring registers that accidentally missed
one instruction to load the address register r27 before using it to
reload f29. This is turn causes the later FP registers to also get the
wrong value.
Hi Jim,
Thanks for testing this and providing a C++ testcase. We came up with
the same patch, but while trying to test it for mainline last week
I ran into unrelated breakage.
I'm really amazed nobody ran into this before. Apparently very little
existing code actually uses exceptions.
-Geert