Re: [PATCH 10/16] compile error: MIPS: add definitions for extended context

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Le 25/10/2015 14:10, Hauke Mehrtens a écrit :
> This patch is causing a build error for me on 4.3-rc7.
> 
>   CC      arch/mips/kernel/signal.o
> arch/mips/kernel/signal.c: In function 'sc_to_extcontext':
> arch/mips/kernel/signal.c:143:12: error: 'struct ucontext' has no member
> named 'uc_extcontext'
>   return &uc->uc_extcontext;
>             ^
> In file included from include/linux/poll.h:11:0,
>                  from include/linux/ring_buffer.h:7,
>                  from include/linux/trace_events.h:5,
>                  from include/trace/syscall.h:6,
>                  from include/linux/syscalls.h:81,
>                  from arch/mips/kernel/signal.c:26:
> arch/mips/kernel/signal.c: In function 'save_msa_extcontext':
> arch/mips/kernel/signal.c:171:40: error: dereferencing pointer to
> incomplete type 'struct msa_extcontext'
>    err = __put_user(read_msa_csr(), &msa->csr);
>                                         ^
> ./arch/mips/include/asm/uaccess.h:441:15: note: in definition of macro
> '__put_user_nocheck'
>   __typeof__(*(ptr)) __pu_val;     \
>                ^
> arch/mips/kernel/signal.c:171:9: note: in expansion of macro '__put_user'
>    err = __put_user(read_msa_csr(), &msa->csr);
>          ^
> arch/mips/kernel/signal.c:186:20: error: 'MSA_EXTCONTEXT_MAGIC'
> undeclared (first use in this function)
>   err |= __put_user(MSA_EXTCONTEXT_MAGIC, &msa->ext.magic);
>                     ^
> ./arch/mips/include/asm/uaccess.h:444:14: note: in definition of macro
> '__put_user_nocheck'
>   __pu_val = (x);       \
>               ^
> arch/mips/kernel/signal.c:186:9: note: in expansion of macro '__put_user'
>   err |= __put_user(MSA_EXTCONTEXT_MAGIC, &msa->ext.magic);
>          ^
> arch/mips/kernel/signal.c:186:20: note: each undeclared identifier is
> reported only once for each function it appears in
>   err |= __put_user(MSA_EXTCONTEXT_MAGIC, &msa->ext.magic);
>                     ^
> ./arch/mips/include/asm/uaccess.h:444:14: note: in definition of macro
> '__put_user_nocheck'
>   __pu_val = (x);       \
>               ^
> arch/mips/kernel/signal.c:186:9: note: in expansion of macro '__put_user'
>   err |= __put_user(MSA_EXTCONTEXT_MAGIC, &msa->ext.magic);
>          ^
> .......
> 
> 
> When I include uapi/asm/ucontext.h instead of asm/ucontext.h in signal.c
> it compiles again.

The problem appears if you had previously auto-generated files in
arch/mips/include/generated that do not get automatically cleaned up
when you switch to a new kernel version, and with an incompatible
ucontext layout between the two.

Jacek tripped over that here:

https://www.linux-mips.org/archives/linux-mips/2015-09/msg00150.html

and I asked whether we could follow-up with a proper Kbuild patch to
address that build dependency here:

https://www.linux-mips.org/archives/linux-mips/2015-09/msg00165.html

but this does not appear to have been proposed or addressed yet.

Paul, could you look into this and see how we could teach Kbuild about
this build dependency?
-- 
Florian




[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux