linux-unwind.h (struct gcc_pt_regs): Extend to include ccr.
authorAlan Modra <amodra@bigpond.net.au>
Wed, 15 Sep 2004 11:43:31 +0000 (11:43 +0000)
committerAlan Modra <amodra@gcc.gnu.org>
Wed, 15 Sep 2004 11:43:31 +0000 (21:13 +0930)
* config/rs6000/linux-unwind.h (struct gcc_pt_regs): Extend to
include ccr.
(ppc_fallback_frame_state): Save location of CR.

From-SVN: r87543

gcc/ChangeLog
gcc/config/rs6000/linux-unwind.h

index 0696e50aa768849c157ab7a7204dd7095c48496f..7cd349e9d93f644bba8d9507e4d520e49ef5266a 100644 (file)
@@ -1,3 +1,9 @@
+2004-09-15  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/linux-unwind.h (struct gcc_pt_regs): Extend to
+       include ccr.
+       (ppc_fallback_frame_state): Save location of CR.
+
 2004-09-15  Jakub Jelinek  <jakub@redhat.com>
 
        * expr.c (string_constant): Handle also read-only variables
index bb4f0cf90dbf0f7857c08bcb8fa4eebab148fa66..4212dfed9aa2e65a49678774ea2baed190576817 100644 (file)
@@ -32,6 +32,8 @@ struct gcc_pt_regs
   unsigned long orig_gpr3;
   unsigned long ctr;
   unsigned long link;
+  unsigned long xer;
+  unsigned long ccr;
 };
 
 struct gcc_sigcontext
@@ -174,6 +176,10 @@ ppc_fallback_frame_state (struct _Unwind_Context *context,
          = (long)&(sc->regs->gpr[i]) - new_cfa;
       }
 
+  fs->regs.reg[CR2_REGNO].how = REG_SAVED_OFFSET;
+  fs->regs.reg[CR2_REGNO].loc.offset
+    = (long)&(sc->regs->ccr) - new_cfa;
+
   fs->regs.reg[LINK_REGISTER_REGNUM].how = REG_SAVED_OFFSET;
   fs->regs.reg[LINK_REGISTER_REGNUM].loc.offset
     = (long)&(sc->regs->link) - new_cfa;