Works fine for .c files, but not for .S files: clang -MD -MF arch/x86/kernel/.entry_64.o.d -nostdinc -isystem include -Iinclude -I/home/edwin/builds/linux-2.6/arch/x86/include -include include/linux/autoconf.h -D__KERNEL__ -D__ASSEMBLY__ -m64 -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -Iarch/x86/include/asm/mach-default -c -o arch/x86/kernel/entry_64.o arch/x86/kernel/entry_64.S fixdep: arch/x86/kernel/.entry_64.o.d: No such file or directory
Note that this also affects Valgrind.
This is because clang-cc currently is unable to generate dependency files when using -E. The problem is that both -E and dependency generation want to register preprocessor actions; this is probably just a matter of chaining one onto the other.
Fixed here: http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20090427/016686.html
More fixed here: http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20090427/016687.html