Messages in this thread | | | Date | Thu, 4 Dec 2008 01:56:47 +0300 | From | Alexey Dobriyan <> | Subject | Re: [PATCH] Fixup MODULE_DEVICE_TABLE(dmi, ...) |
| |
On Wed, Dec 03, 2008 at 09:03:21AM +0000, David Woodhouse wrote: > On Wed, 2008-12-03 at 00:41 -0800, Andrew Morton wrote: > > The changelog is too crappy for me. Why did that error occur, and how > > does the patch fix it? > > Well, you repeated the explanation of what's wrong -- although I don't > see how it actually causes an _error_; it works here.
It's just gcc version,
gcc version 3.4.6 (Gentoo 3.4.6-r2 p1.5)
which is 5-10% faster than 4.1.2, that's why I switched back to it.
> The problem is that the MODULE_DEVICE_TABLE(dmi, foo) line expands to... > > extern const struct dmi_device_id __mod_dmi_device_table > __attribute__ ((unused, alias("foo"))); > > And 'struct dmi_device_id' doesn't exist -- what we have is 'struct > dmi_system_id'. > > In practice, this doesn't seem to matter because we never ask the > compiler to look _inside_ that struct -- it's just like a forward > declaration of 'struct foo' and then using pointers to it. > > But it looks like Alexey's managed to find a way to actually make a > compiler barf on it, so that increases the motivation to fix it > promptly...
| |