diff options
author | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-05-16 13:25:16 +0000 |
---|---|---|
committer | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-05-16 13:25:16 +0000 |
commit | 9aa70826d5d6155f496dac31eb8f889e053c9beb (patch) | |
tree | ed5d012f914315f12fecf5d42d0b49e6d78d6eb9 | |
parent | 28cfaeeda3fda747ad79d0917a995c4b9dd0efbf (diff) | |
download | ppe42-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/ia64/unwind-ia64.c | 10 |
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; |