aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/unwind-dw2.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index afb2ae9..e9af201 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2003-05-13 Richard Sandiford <rsandifo@redhat.com>
+
+ * unwind-dw2.c (uw_init_context_1): Don't pass &outer_cfa directly
+ to _Unwind_SetGRPtr().
+
2003-05-13 Michael Eager <eager@mvista.com>
* Makefile.in: Initialize program_transform_cross_name from
diff --git a/gcc/unwind-dw2.c b/gcc/unwind-dw2.c
index 673d164..e61664b 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;