Messages in this thread | | | Date | Tue, 20 Apr 2010 19:09:15 +0200 | From | Jan Kiszka <> | Subject | Re: [PATCH 3/5] uml: Fix warning due to missing task_struct declaration |
| |
Jeff Dike wrote: > On Tue, Apr 20, 2010 at 06:09:49PM +0800, Amerigo Wang wrote: >> On Mon, Apr 19, 2010 at 11:53:06PM +0200, Jan Kiszka wrote: >>> We can't pull in linux/sched.h, so just declare the struct. >>> >> Did you meet any build error? If yes, please include it. > > What does this patch fix, aside from being a bit cleaner?
CC arch/um/sys-i386/elfcore.o In file included from /data/linux-2.6/include/linux/elf.h:8, from /data/linux-2.6/arch/um/sys-i386/elfcore.c:2: /data/linux-2.6/arch/um/sys-i386/asm/elf.h:78: warning: ‘struct task_struct’ declared inside parameter list /data/linux-2.6/arch/um/sys-i386/asm/elf.h:78: warning: its scope is only this definition or declaration, which is probably not what you want
I guess not many people build against i386 hosts anymore, so this remained widely unnoticed.
> > If it built before, without having a task_struct declaration, I think > that means that the elf_core_copy_fpregs was never used. The > task_struct * in the declaration would become a private task_struct, > known only to the declaration. If the implementation or callers have > the regular task_struct, it will be a different one, and the > prototypes will conflict due to the different types of the first > parameter.
This is just a forward declaration (that many arch elf header include), so no such problem exists.
BTW, to answer the other question in this thread: We have a circular dependency that prevents including sched.h.
I can add all these information to some v2 of this patch if it is required to get this merged. Please let me know.
Jan
[unhandled content-type:application/pgp-signature] | |