I tried to rebuild the source package with a modified config: without the "CONFIG_XEN_PRIVILEGED_GUEST"-flag in the custom-source "xen".
Then I got:
/usr/local/src/debian/linux-2.6.24/debian/build/custom-source-xen-domU/arch/x86/kernel/setup_32-xen.c:646:63: error: macro "dom0_init_screen_info" passed 2 arguments, but takes just 1
/usr/local/src/debian/linux-2.6.24/debian/build/custom-source-xen-domU/arch/x86/kernel/setup_32-xen.c: In function 'setup_arch':
/usr/local/src/debian/linux-2.6.24/debian/build/custom-source-xen-domU/arch/x86/kernel/setup_32-xen.c:645: error: 'dom0_init_screen_info' undeclared (first use in this function)
/usr/local/src/debian/linux-2.6.24/debian/build/custom-source-xen-domU/arch/x86/kernel/setup_32-xen.c:645: error: (Each undeclared identifier is reported only once
/usr/local/src/debian/linux-2.6.24/debian/build/custom-source-xen-domU/arch/x86/kernel/setup_32-xen.c:645: error: for each function it appears in.)
/usr/local/src/debian/linux-2.6.24/debian/build/custom-source-xen-domU/arch/x86/kernel/setup_32-xen.c:641: warning: unused variable 'info'
include/xen/xencons.h:
#ifdef CONFIG_XEN_PRIVILEGED_GUEST
struct dom0_vga_console_info;
void dom0_init_screen_info(const struct dom0_vga_console_info *, size_t);
#else
#define dom0_init_screen_info(info) ((void)(info))
#endif
So, if CONFIG_XEN_PRIVILEGED_GUEST is set, dom0_init_screen_info has two arguments, if not, it only has one and the package won't compile. Normally you won't notice because the xen kernel is always built with CONFIG_XEN_PRIVILEGED_GUEST, but I think it should be possible to rebuild a kernel-source-package with different config-parameters without getting compile-errors.
After changing
#define dom0_init_screen_info(info) ((void)(info))
to
#define dom0_init_screen_info(info, info2) ((void)(info))
everything works fine.
Is this symptom still reproducible in 8.10 or 9.04?