Message ID | 20220314172508.816110-1-raj.khem@gmail.com |
---|---|
State | New |
Headers | show |
Series | [v2] ppc: Include asm/ptrace.h for pt_regs struct definition | expand |
On 3/14/22 14:25, Khem Raj wrote: > Fixes > ../qemu-6.2.0/linux-user/host/ppc64/../ppc/host-signal.h:16:32: error: incomplete definition of type 'struct pt_regs' > return uc->uc_mcontext.regs->nip; > ~~~~~~~~~~~~~~~~~~~~^ > > Signed-off-by: Khem Raj <raj.khem@gmail.com> > Cc: Peter Maydell <peter.maydell@linaro.org> > Cc: Philippe Mathieu-Daudé <f4bug@amsat.org> > Cc: Richard Henderson <richard.henderson@linaro.org> > --- > v2: Drop ifdef __powerpc__ > > linux-user/include/host/ppc/host-signal.h | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/linux-user/include/host/ppc/host-signal.h b/linux-user/include/host/ppc/host-signal.h > index b80384d135..ec6166ed66 100644 > --- a/linux-user/include/host/ppc/host-signal.h > +++ b/linux-user/include/host/ppc/host-signal.h > @@ -11,6 +11,9 @@ > #ifndef PPC_HOST_SIGNAL_H > #define PPC_HOST_SIGNAL_H > > +/* needed for pt_regs */ > +#include <asm/ptrace.h> > + I am intrigued about why we didn't hit this before, especially considering that ppc64 header is just a pointer to this file. I looked it up and didn't find why. This change seems harmless to me though. Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> > /* The third argument to a SA_SIGINFO handler is ucontext_t. */ > typedef ucontext_t host_sigcontext; >
On Mon, 14 Mar 2022 at 17:59, Daniel Henrique Barboza <danielhb413@gmail.com> wrote: > I am intrigued about why we didn't hit this before, especially considering that ppc64 header is just a > pointer to this file. It's specific to musl, which does different things with its system includes than glibc does. -- PMM
On Mon, Mar 14, 2022 at 06:06:40PM +0000, Peter Maydell wrote: > On Mon, 14 Mar 2022 at 17:59, Daniel Henrique Barboza > <danielhb413@gmail.com> wrote: > > I am intrigued about why we didn't hit this before, especially considering that ppc64 header is just a > > pointer to this file. > > It's specific to musl, which does different things with its > system includes than glibc does. And while we have CI testing for QEMU with Alpine that uses musl, this is only x86_64 host. IOW we don't have CI coverage of ppc64 host with musl, only glibc Regards, Daniel
On 3/14/22 10:25, Khem Raj wrote: > Fixes > ../qemu-6.2.0/linux-user/host/ppc64/../ppc/host-signal.h:16:32: error: incomplete definition of type 'struct pt_regs' > return uc->uc_mcontext.regs->nip; > ~~~~~~~~~~~~~~~~~~~~^ > > Signed-off-by: Khem Raj<raj.khem@gmail.com> > Cc: Peter Maydell<peter.maydell@linaro.org> > Cc: Philippe Mathieu-Daudé<f4bug@amsat.org> > Cc: Richard Henderson<richard.henderson@linaro.org> > --- > v2: Drop ifdef __powerpc__ > > linux-user/include/host/ppc/host-signal.h | 3 +++ > 1 file changed, 3 insertions(+) As per late conversation vs version 1, instead of the include, we should update the code to avoid the pt_regs indirection and instead reference gp_regs directly. We should also move the file to ../ppc64/, leaving ppc/ empty. r~
diff --git a/linux-user/include/host/ppc/host-signal.h b/linux-user/include/host/ppc/host-signal.h index b80384d135..ec6166ed66 100644 --- a/linux-user/include/host/ppc/host-signal.h +++ b/linux-user/include/host/ppc/host-signal.h @@ -11,6 +11,9 @@ #ifndef PPC_HOST_SIGNAL_H #define PPC_HOST_SIGNAL_H +/* needed for pt_regs */ +#include <asm/ptrace.h> + /* The third argument to a SA_SIGINFO handler is ucontext_t. */ typedef ucontext_t host_sigcontext;
Fixes ../qemu-6.2.0/linux-user/host/ppc64/../ppc/host-signal.h:16:32: error: incomplete definition of type 'struct pt_regs' return uc->uc_mcontext.regs->nip; ~~~~~~~~~~~~~~~~~~~~^ Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Peter Maydell <peter.maydell@linaro.org> Cc: Philippe Mathieu-Daudé <f4bug@amsat.org> Cc: Richard Henderson <richard.henderson@linaro.org> --- v2: Drop ifdef __powerpc__ linux-user/include/host/ppc/host-signal.h | 3 +++ 1 file changed, 3 insertions(+)