Re: sparse refuses to work due to stdarg.h

From: Roland Dreier
Date: Mon Jan 17 2005 - 11:36:46 EST


Sam> You seems to have a symlink? to /usr/include/asm in your
Sam> 3.3.5/include directory.

No, with debian gcc, /usr/lib/gcc-lib/i486-linux/3.3.5/include/asm/ is
a real directory that includes nothing but posix_types.h.

Sam> But real issue is search order of include paths in sparse.
Sam> sparse searches standard system dirs before dir's specified
Sam> with -I ... This in contradiction to 'info gcc - see
Sam> description for -I'.

Looks like you're right. On Debian, "make C=1 V=1" ends up with:

sparse -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ -nostdinc -isystem /usr/lib/gcc-lib/i486-linux/3.3.5/include -D__i386__ -Wp,-MD,init/.main.o.d -nostdinc -isystem /usr/lib/gcc-lib/i486-linux/3.3.5/include -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -ffreestanding -O2 -fomit-frame-pointer -pipe -msoft-float -mpreferred-stack-boundary=2 -march=i686 -mregparm=3 -Iinclude/asm-i386/mach-default -DKBUILD_BASENAME=main -DKBUILD_MODNAME=main init/main.c ;
/usr/lib/gcc-lib/i486-linux/3.3.5/include/asm/posix_types.h:29:35: warning: no newline at end of file
/usr/lib/gcc-lib/i486-linux/3.3.5/include/asm/posix_types.h:13:11: error: unable to open 'features.h'

so sparse is picking up the posix_types.h from the -isystem path
instead of the -I path as it should.

- Roland

-
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/