From ea183d9b727ac7e3ccfdcb89242566857d7182c8 Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Tue, 12 Feb 2019 09:31:34 -0600 Subject: [PATCH] powerpc64: use a type for mcontext_t regs field MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit GCC Go dereferences `regs` for `nip`. Without this change, compilation fails with the following message: ../../../libgo/runtime/go-signal.c: In function ‘getSiginfo’: ../../../libgo/runtime/go-signal.c:225:56: warning: dereferencing ‘void *’ pointer ret.sigpc = ((ucontext_t*)(context))->uc_mcontext.regs->nip; ^~ ../../../libgo/runtime/go-signal.c:225:56: error: request for member ‘nip’ in something not a structure or union --- arch/powerpc64/bits/signal.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/arch/powerpc64/bits/signal.h b/arch/powerpc64/bits/signal.h index 34693a68..6736c69a 100644 --- a/arch/powerpc64/bits/signal.h +++ b/arch/powerpc64/bits/signal.h @@ -8,6 +8,8 @@ #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#include + typedef unsigned long greg_t, gregset_t[48]; typedef struct { @@ -29,7 +31,7 @@ typedef struct sigcontext { int _pad0; unsigned long handler; unsigned long oldmask; - void *regs; + struct pt_regs *regs; gregset_t gp_regs; fpregset_t fp_regs; vrregset_t *v_regs; -- 2.19.2