On Thu, 19 Mar 2009, Al Viro wrote: > On Thu, Mar 19, 2009 at 02:49:21PM +0100, Hannes Eder wrote: > > running sparse (from Christopher's tree) on linux-2.6/kernel/cred.c > > (as of next-20090318, problem may appeared earlier, I have not tried > > yet) causes a segfault at evaluate.c:341: > > > > if (type->type == SYM_NODE) > > type = type->ctype.base_type; > > if (type->type == SYM_TYPEOF) { <======== SEGFAULT (type == NULL) > > type = evaluate_expression(type->initializer); > > if (type->type == SYM_NODE) > > type = type->ctype.base_type; > > } > > > > the complete command line: > > > > sparse -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ -Wbitwise > > -Wno-return-void -D__x86_64__ -m64 -nostdinc -isystem > > /usr/lib/gcc/x86_64-redhat-linux/4.3.2/include > > -Wp,-MD,kernel/.cred.o.d -nostdinc -isystem > > /usr/lib/gcc/x86_64-redhat-linux/4.3.2/include -Iinclude > > -I/home/hannes/linux-2.6/arch/x86/include -include > > include/linux/autoconf.h -D__KERNEL__ -Wall -Wundef > > -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common > > -Werror-implicit-function-declaration -Os -m64 -mtune=generic > > -mno-red-zone -mcmodel=kernel -funit-at-a-time > > -maccumulate-outgoing-args -fstack-protector -fstack-protector-all > > -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -pipe > > -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx > > -mno-sse2 -mno-3dnow -fno-omit-frame-pointer > > -fno-optimize-sibling-calls -g -pg -Wdeclaration-after-statement > > -Wno-pointer-sign -D"KBUILD_STR(s)=#s" > > -D"KBUILD_BASENAME=KBUILD_STR(cred)" > > -D"KBUILD_MODNAME=KBUILD_STR(cred)" -D"DEBUG_HASH=36" > > -D"DEBUG_HASH2=28" kernel/cred.c > > > > > > using "git bisect" i narrowed to problem down to: > > > > [db31fd91f8231110ce8d8d48ce402f8cad068e44] Fix handling of ident-less > > declarations > > > > Does that help? Should I provide any further information? > > Preprocessed input would help (note that knowing the kernel tree in > question is not enough - .config affects what comes out of preprocessing, > after all). > > Just slap -E in command line above and dump the output someplace public... just to (hopfully) simplify things a bit - a simple: make i386_defconfig make V=1 C=1 kernel/kred.i should actually do it hofrat -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html