diff --git a/gcc/ChangeLog b/gcc/ChangeLog index afb2ae91aee..e9af20169ba 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2003-05-13 Richard Sandiford + + * unwind-dw2.c (uw_init_context_1): Don't pass &outer_cfa directly + to _Unwind_SetGRPtr(). + 2003-05-13 Michael Eager * Makefile.in: Initialize program_transform_cross_name from 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;