summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2003-05-16 13:25:16 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2003-05-16 13:25:16 +0000
commit9aa70826d5d6155f496dac31eb8f889e053c9beb (patch)
treeed5d012f914315f12fecf5d42d0b49e6d78d6eb9
parent28cfaeeda3fda747ad79d0917a995c4b9dd0efbf (diff)
downloadppe42-gcc-9aa70826d5d6155f496dac31eb8f889e053c9beb.tar.gz
ppe42-gcc-9aa70826d5d6155f496dac31eb8f889e053c9beb.zip
* config/ia64/unwind-ia64.c (uw_update_reg_address): Handle
.save XX, r0. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66861 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/ia64/unwind-ia64.c10
2 files changed, 15 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7a8beebd911..b0f3450d14d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2003-05-16 Jakub Jelinek <jakub@redhat.com>
+
+ * config/ia64/unwind-ia64.c (uw_update_reg_address): Handle
+ .save XX, r0.
+
2003-05-15 Roger Sayle <roger@eyesopen.com>
* config/alpha/alpha.h (ASM_OUTPUT_SKIP): Fix typo.
diff --git a/gcc/config/ia64/unwind-ia64.c b/gcc/config/ia64/unwind-ia64.c
index dbaaf42dff9..573a84a75ce 100644
--- a/gcc/config/ia64/unwind-ia64.c
+++ b/gcc/config/ia64/unwind-ia64.c
@@ -1771,6 +1771,11 @@ uw_update_reg_address (struct _Unwind_Context *context,
addr = ia64_rse_skip_regs ((unsigned long *) context->bsp, rval - 32);
else if (rval >= 2)
addr = context->ireg[rval - 2].loc;
+ else if (rval == 0)
+ {
+ static const unsigned long dummy;
+ addr = (void *) &dummy;
+ }
else
abort ();
break;
@@ -1822,6 +1827,11 @@ uw_update_reg_address (struct _Unwind_Context *context,
context->ireg[regno - UNW_REG_R2].nat
= context->ireg[rval - 2].nat;
}
+ else if (rval == 0)
+ {
+ context->ireg[regno - UNW_REG_R2].nat.type = UNW_NAT_NONE;
+ context->ireg[regno - UNW_REG_R2].nat.off = 0;
+ }
else
abort ();
break;
OpenPOWER on IntegriCloud