Latest working kernel version: 2.6.27.10 Earliest failing kernel version: 2.6.28 Distribution: Slackware 11.0 Hardware Environment: i386 Software Environment: gcc 3.4.6, GNU ld 2.15.92.0.2 Problem Description: Kernel build fails with either of the following errors: drivers/hwmon/applesmc.c:1582: error: storage size of '__mod_dmi_device_table' isn't known drivers/video/backlight/mbp_nvidia_bl.c:114: error: storage size of '__mod_dmi_device_table' isn't known This is because MODULE_DEVICE_TABLE(dmi, ...) expands to: extern const struct dmi_device_id __mod_dmi_device_table ... and struct dmi_device_id doesn't exist. Steps to reproduce: Build kernel 2.6.28 or 2.6.29-rc2 on x86 with gcc 3. Apparently the problem doesn't happen with gcc 4. This problem has already been discussed: http://lkml.org/lkml/2008/12/11/441 https://kerneltrap.org/mailarchive/linux-kernel/2008/11/14/4156904/thread But a patch still has to be submitted to mainline and then ported to 2.6.28-stable.
Patch sent: http://lkml.org/lkml/2009/1/27/271
Great, thanks!
Fixed in Linus' tree: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=40413dcb7b273bda681dca38e6ff0bbb3728ef11