summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>2005-04-13 00:50:34 +0000
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>2005-04-13 00:50:34 +0000
commit2e6d08dda9e895243d6cce4b39cb5a34401351e7 (patch)
treea0aaf8143b80646fa19035746ab42186b98550b3
parent6353af38c653ad4db0f60abff39c560c14aa64ea (diff)
downloadgcc-2e6d08dda9e895243d6cce4b39cb5a34401351e7.tar.gz
Fix problem with FP reg r29 being corrupted on stack unwind.
PR target/20670 * unwind-ia64.c (uw_intall_context): Add missing load of r27. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@98061 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/ia64/unwind-ia64.c2
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bbc317e2527..63ce38a6ef1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2005-04-12 James E. Wilson <wilson@specifixinc.com>
+
+ PR target/20670
+ * unwind-ia64.c (uw_intall_context): Add missing load of r27.
+
2005-04-12 Caroline Tice <ctice@apple.com>
Temporary fix for partitioning problems.
diff --git a/gcc/config/ia64/unwind-ia64.c b/gcc/config/ia64/unwind-ia64.c
index 1a245ebfa89..3a45dc16546 100644
--- a/gcc/config/ia64/unwind-ia64.c
+++ b/gcc/config/ia64/unwind-ia64.c
@@ -2275,6 +2275,8 @@ uw_install_context (struct _Unwind_Context *current __attribute__((unused)),
"(p6) ldf.fill f22 = [r28] \n\t"
"cmp.ne p7, p0 = r0, r29 \n\t"
";; \n\t"
+ "ld8 r27 = [r20], 8 \n\t"
+ ";; \n\t"
"ld8 r28 = [r20], 8 \n\t"
"(p7) ldf.fill f23 = [r29] \n\t"
"cmp.ne p6, p0 = r0, r22 \n\t"