Andrew Morton wrote: > @@ -99,6 +103,7 @@ drivers-$(CONFIG_PM) += arch/i386/powe > > CFLAGS += $(mflags-y) > AFLAGS += $(mflags-y) > +CPPFLAGS += $(mflags-y) > > This change affects _all_ subarchitectures (by potentially altering their > CPPFLAGS) and it's rather a mystery why one subarch needs the -Ifoo in its > CPPFLAGS whereas all the others do not. > The reason is that arch-i386/kernel/vmlinux.lds.S is run through CPP, and it includes asm/thread_info.h and asm/page.h, which end up including "mach_page.h" (which this patch series introduces). There is a version in both mach-default/mach_page.h and mach-xen/mach_page.h, so the -I is necessary for non-Xen sub-arches as well. I guess the conservative approach would be to only add this -I for the vmlinux.lds target, assuming there are no later compile problems. On the flip-side, would you want C and Asm code getting a different set of includes from "manually" preprocessed-files? I would think you'd want either defines/includes at all, or to have them identical. The CPPFLAGS assignment also appears to make the previous two lines redundant, since a_flags and c_flags (which is what actually gets used for compilation) end up having CPPFLAGS incorporated into them. J