summaryrefslogtreecommitdiff
path: root/gcc/unwind-dw2.c
diff options
context:
space:
mode:
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2003-05-13 06:49:46 +0000
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2003-05-13 06:49:46 +0000
commita3d3276b73d98fb94f03319cf3f78ea5530c08f6 (patch)
tree610aa7b52caa123409d081366d3ea5bc11ab8bb9 /gcc/unwind-dw2.c
parentdaca5ce6119638d63b9f4b4459ebe8045a643f64 (diff)
downloadgcc-a3d3276b73d98fb94f03319cf3f78ea5530c08f6.tar.gz
* unwind-dw2.c (uw_init_context_1): Don't pass &outer_cfa directly
to _Unwind_SetGRPtr(). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66753 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/unwind-dw2.c')
-rw-r--r--gcc/unwind-dw2.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/unwind-dw2.c b/gcc/unwind-dw2.c
index 673d164695d..e61664b79e8 100644
--- a/gcc/unwind-dw2.c
+++ b/gcc/unwind-dw2.c
@@ -1198,6 +1198,7 @@ uw_init_context_1 (struct _Unwind_Context *context,
{
void *ra = __builtin_extract_return_addr (__builtin_return_address (0));
_Unwind_FrameState fs;
+ _Unwind_Word sp_slot;
memset (context, 0, sizeof (struct _Unwind_Context));
context->ra = ra;
@@ -1206,7 +1207,8 @@ uw_init_context_1 (struct _Unwind_Context *context,
abort ();
/* Force the frame state to use the known cfa value. */
- _Unwind_SetGRPtr (context, __builtin_dwarf_sp_column (), &outer_cfa);
+ sp_slot = (_Unwind_Ptr) outer_cfa;
+ _Unwind_SetGRPtr (context, __builtin_dwarf_sp_column (), &sp_slot);
fs.cfa_how = CFA_REG_OFFSET;
fs.cfa_reg = __builtin_dwarf_sp_column ();
fs.cfa_offset = 0;