From: Jakub Jelinek Date: Fri, 16 May 2003 13:25:16 +0000 (+0200) Subject: unwind-ia64.c (uw_update_reg_address): Handle .save XX, r0. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b80c098742ddeec767edaa0aa635e1c9bb9ad21e;p=gcc.git unwind-ia64.c (uw_update_reg_address): Handle .save XX, r0. * config/ia64/unwind-ia64.c (uw_update_reg_address): Handle .save XX, r0. From-SVN: r66861 --- 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 + + * config/ia64/unwind-ia64.c (uw_update_reg_address): Handle + .save XX, r0. + 2003-05-15 Roger Sayle * 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;