Attached patch implements the same approach that x86_64 implements to properly cast 'mcontext_t *' &rt_->uc.uc_mcontext to 'struct sigcontext *'.
BTW: Other targets (e.g. Mips) probably need similar patch to avoid warning. 2019-02-20 Uroš Bizjak <ubiz...@gmail.com> * config/alpha/linux-unwind.h (alpha_fallback_frame_state): Cast 'mcontext_t *' &rt_->uc.uc_mcontext to 'struct sigcontext *'. Tested on alphaev68-linux-gnu and committed to mainline SVN. Uros.
diff --git a/libgcc/config/alpha/linux-unwind.h b/libgcc/config/alpha/linux-unwind.h index ec75c793454a..482564910f87 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;