Latest working kernel version: 126.96.36.199
Earliest failing kernel version: 2.6.28
Distribution: Slackware 11.0
Hardware Environment: i386
Software Environment: gcc 3.4.6, GNU ld 188.8.131.52.2
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:
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
Fixed in Linus' tree: