aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/rs6000
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2004-09-15 11:43:31 +0000
committerAlan Modra <amodra@gcc.gnu.org>2004-09-15 21:13:31 +0930
commit43e7c6a4d49992d14aaf331c5df747dc8e245df8 (patch)
tree84ba91be1ea05e222667e9d6da0cfab9acfe6f4c /gcc/config/rs6000
parent69862840f83766fea2fd4e55d1e2c4cb7ffaa424 (diff)
downloadgcc-43e7c6a4d49992d14aaf331c5df747dc8e245df8.zip
gcc-43e7c6a4d49992d14aaf331c5df747dc8e245df8.tar.gz
gcc-43e7c6a4d49992d14aaf331c5df747dc8e245df8.tar.bz2
linux-unwind.h (struct gcc_pt_regs): Extend to include ccr.
* config/rs6000/linux-unwind.h (struct gcc_pt_regs): Extend to include ccr. (ppc_fallback_frame_state): Save location of CR. From-SVN: r87543
Diffstat (limited to 'gcc/config/rs6000')
-rw-r--r--gcc/config/rs6000/linux-unwind.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/config/rs6000/linux-unwind.h b/gcc/config/rs6000/linux-unwind.h
index bb4f0cf9..4212dfe 100644
--- a/gcc/config/rs6000/linux-unwind.h
+++ b/gcc/config/rs6000/linux-unwind.h
@@ -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;