Basically all but PowerPC and i386 have problems; and the latter works
only if you apply the patches I sent to Linus a few days ago.

This is just a basic check that the headers which _are_ exported don't
try to include other headers which aren't. This can happen either
because the former should not, or the latter _should_ be exported.
Mostly, however, the solution is just to make sure the latter is
included only within #ifdef __KERNEL__, because it's only needed within
that ifdef anyway.

Admittedly, much of the time this is only seen in files like asm/page.h
or asm/elf.h which we really don't expect anyone in userspace to be
using anyway -- but it would be good to fix them anyway.

Omitting the headers for which I've already sent patches to Linus, these
are the remaining problems found by running the scripts/hdrcheck.sh over
the exported kernel headers (automatically exported from Linus' current
tree, and available from
git://git.kernel.org/pub/scm/linux/kernel/git/dwmw2/kernel-headers.git )

$ for ARCH in `ls -d asm* | cut -c5- | grep -v generic`; do rm -f asm ; ln -sf 
asm-$ARCH asm ; for FILE in asm-$ARCH/*.h ; do ../linux-2.6/scripts/hdrcheck.sh 
. $FILE  ; done ; done
asm-alpha/byteorder.h requires asm/compiler.h, which does not exist
asm-alpha/page.h requires asm-generic/memory_model.h, which does not exist
asm-arm/elf.h requires asm/procinfo.h, which does not exist
asm-arm/page.h requires asm-generic/page.h, which does not exist
asm-arm26/elf.h requires asm/procinfo.h, which does not exist
asm-arm26/page.h requires asm-generic/page.h, which does not exist
asm-cris/byteorder.h requires asm/arch/byteorder.h, which does not exist
asm-cris/elf.h requires asm/arch/elf.h, which does not exist
asm-cris/page.h requires asm/arch/page.h, which does not exist
asm-cris/posix_types.h requires asm/bitops.h, which does not exist
asm-cris/ptrace.h requires asm/arch/ptrace.h, which does not exist
asm-cris/termios.h requires asm/rs485.h, which does not exist
asm-cris/unistd.h requires asm/arch/unistd.h, which does not exist
asm-cris/user.h requires asm/arch/user.h, which does not exist
asm-frv/page.h requires asm-generic/memory_model.h, which does not exist
asm-frv/ptrace.h requires asm/registers.h, which does not exist
asm-frv/sigcontext.h requires asm/registers.h, which does not exist
asm-frv/termios.h requires asm-generic/termios.h, which does not exist
asm-frv/user.h requires asm/registers.h, which does not exist
asm-h8300/page.h requires asm-generic/memory_model.h, which does not exist
asm-ia64/ptrace.h requires asm/asm-offsets.h, which does not exist
asm-ia64/resource.h requires asm/ustack.h, which does not exist
asm-m32r/page.h requires asm-generic/memory_model.h, which does not exist
asm-m32r/ptrace.h requires asm/m32r.h, which does not exist
asm-m32r/signal.h requires linux/linkage.h, which does not exist
asm-m32r/unistd.h requires asm/syscall.h, which does not exist
asm-m32r/user.h requires asm/processor.h, which does not exist
asm-m68k/page.h requires asm-generic/page.h, which does not exist
asm-m68knommu/page.h requires asm-generic/page.h, which does not exist
asm-mips/page.h requires asm-generic/memory_model.h, which does not exist
asm-mips/posix_types.h requires asm/sgidefs.h, which does not exist
asm-mips/ptrace.h requires asm/isadep.h, which does not exist
asm-mips/sigcontext.h requires asm/sgidefs.h, which does not exist
asm-mips/statfs.h requires asm/sgidefs.h, which does not exist
asm-mips/stat.h requires asm/sgidefs.h, which does not exist
asm-mips/unistd.h requires asm/sgidefs.h, which does not exist
asm-mips/user.h requires asm/reg.h, which does not exist
asm-parisc/page.h requires asm-generic/memory_model.h, which does not exist
asm-s390/debug.h requires linux/string.h, which does not exist
asm-s390/elf.h requires asm/system.h, which does not exist
asm-sh/page.h requires asm-generic/memory_model.h, which does not exist
asm-sh/ptrace.h requires asm/ubc.h, which does not exist
asm-sh64/page.h requires asm-generic/memory_model.h, which does not exist
asm-sh64/shmparam.h requires asm/cache.h, which does not exist
asm-sh64/signal.h requires asm/processor.h, which does not exist
asm-sh64/user.h requires asm/processor.h, which does not exist
asm-sparc/auxio.h requires asm/system.h, which does not exist
asm-sparc/page.h requires asm-generic/memory_model.h, which does not exist
asm-sparc/pbm.h requires asm/oplib.h, which does not exist
asm-sparc/pgtsun4.h requires asm/contregs.h, which does not exist
asm-sparc/turbosparc.h requires asm/pgtsrmmu.h, which does not exist
asm-sparc64/floppy.h requires linux/init.h, which does not exist
asm-sparc64/kdebug.h requires linux/notifier.h, which does not exist
asm-sparc64/mostek.h requires asm/idprom.h, which does not exist
asm-sparc64/page.h requires asm/const.h, which does not exist
asm-sparc64/parport.h requires asm/ebus.h, which does not exist
asm-sparc64/pstate.h requires asm/const.h, which does not exist
asm-sparc64/shmparam.h requires asm/spitfire.h, which does not exist
asm-um/page.h requires asm/vm-flags.h, which does not exist
asm-um/unistd.h requires linux/syscalls.h, which does not exist
asm-v850/page.h requires asm/machdep.h, which does not exist
asm-v850/param.h requires asm/machdep.h, which does not exist
asm-x86_64/elf.h requires asm/processor.h, which does not exist
asm-x86_64/signal.h requires linux/linkage.h, which does not exist
asm-x86_64/unistd.h requires linux/linkage.h, which does not exist
asm-x86_64/vsyscall.h requires linux/seqlock.h, which does not exist
asm-xtensa/byteorder.h requires asm/processor.h, which does not exist
asm-xtensa/elf.h requires asm/coprocessor.h, which does not exist
asm-xtensa/page.h requires asm-generic/memory_model.h, which does not exist
asm-xtensa/shmparam.h requires asm/processor.h, which does not exist
asm-xtensa/sigcontext.h requires asm/processor.h, which does not exist


-- 
dwmw2

-
To unsubscribe from this list: send the line "unsubscribe linux-arch" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to