From 1ed28eda9f29927b4c08f50cecb8a43e5fbe1d81 Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Wed, 20 Feb 2019 22:37:21 +0100 Subject: [PATCH] linux-unwind.h (alpha_fallback_frame_state): Cast 'mcontext_t *' &rt_->uc.uc_mcontext to 'struct sigcontext *'. * config/alpha/linux-unwind.h (alpha_fallback_frame_state): Cast 'mcontext_t *' &rt_->uc.uc_mcontext to 'struct sigcontext *'. From-SVN: r269053 --- libgcc/ChangeLog | 5 +++++ libgcc/config/alpha/linux-unwind.h | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index c8b59b4814b..1ada0793546 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,8 @@ +2019-02-20 Uroš Bizjak + + * config/alpha/linux-unwind.h (alpha_fallback_frame_state): + Cast 'mcontext_t *' &rt_->uc.uc_mcontext to 'struct sigcontext *'. + 2019-02-19 Uroš Bizjak * unwind-dw2.c (_Unwind_GetGR) [DWARF_ZERO_REG]: Compare diff --git a/libgcc/config/alpha/linux-unwind.h b/libgcc/config/alpha/linux-unwind.h index ec75c793454..482564910f8 100644 --- a/libgcc/config/alpha/linux-unwind.h +++ b/libgcc/config/alpha/linux-unwind.h @@ -53,7 +53,10 @@ alpha_fallback_frame_state (struct _Unwind_Context *context, siginfo_t info; ucontext_t uc; } *rt_ = context->cfa; - sc = &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;