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

From: Hauke Mehrtens
Date: Sun Oct 25 2015 - 18:18:57 EST


On 10/25/2015 10:47 PM, Florian Fainelli wrote:
> 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?
>

Yes that was the problem, after doing this I worked again:
rm arch/mips/include/generated/ -rf

Hauke
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/