From 8fb619ac9c4315213fd20c8b4f2b333bf0f578e7 Mon Sep 17 00:00:00 2001 From: rth Date: Sat, 2 Jul 2005 02:18:13 +0000 Subject: [PATCH] * config/i386/linux-unwind.h (x86_64_fallback_frame_state): Cast to void * before struct sigcontext *. (x86_fallback_frame_state): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101529 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/config/i386/linux-unwind.h | 10 ++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d07f64e..a29ff99 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2005-07-01 Richard Henderson + + * config/i386/linux-unwind.h (x86_64_fallback_frame_state): Cast to + void * before struct sigcontext *. + (x86_fallback_frame_state): Likewise. + 2005-07-01 James E. Wilson * doc/invoke.texi (-funit-at-a-time): Correct grammar in second bullet. diff --git a/gcc/config/i386/linux-unwind.h b/gcc/config/i386/linux-unwind.h index 919c3a4..6ca1309 100644 --- a/gcc/config/i386/linux-unwind.h +++ b/gcc/config/i386/linux-unwind.h @@ -52,7 +52,10 @@ x86_64_fallback_frame_state (struct _Unwind_Context *context, && *(unsigned long *)(pc+1) == 0x050f0000000fc0c7) { struct ucontext *uc_ = context->cfa; - sc = (struct sigcontext *) &uc_->uc_mcontext; + /* The void * cast is necessary to avoid an aliasing warning. + The aliasing warning is correct, but should not be a problem + because it does not alias anything. */ + sc = (struct sigcontext *) (void *) &uc_->uc_mcontext; } else return _URC_END_OF_STACK; @@ -138,7 +141,10 @@ x86_fallback_frame_state (struct _Unwind_Context *context, struct siginfo info; struct ucontext uc; } *rt_ = context->cfa; - sc = (struct sigcontext *) &rt_->uc.uc_mcontext; + /* The void * cast is necessary to avoid an aliasing warning. + The aliasing warning is correct, but should not be a problem + because it does not alias anything. */ + sc = (struct sigcontext *) (void *) &rt_->uc.uc_mcontext; } else return _URC_END_OF_STACK; -- 2.7.4